-- 1. 登入 MySQL
mysql -u root -p
-- 2. 選擇 mysql 系統庫
USE mysql;
-- 3. 修改密碼(MySQL 5.7+ 使用 authentication_string)
UPDATE `user` SET `authentication_string` = PASSWORD('新密碼') WHERE `User` = 'root';
-- 4. 刷新權限生效
FLUSH PRIVILEGES;
MySQL 8.0 建議用:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
systemctl stop mysqld 或 service mysql stopmy.cnf / my.ini),在 [mysqld] 下加入:skip-grant-tablessystemctl start mysqldmysql -u root
USE mysql;
-- 5.7+
UPDATE `user` SET `authentication_string` = PASSWORD('新密碼') WHERE `User` = 'root';
-- 8.0
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
FLUSH PRIVILEGES;
systemctl restart mysqld,即可用新密碼正常登入。若新密碼不符合預設驗證策略(長度、大小寫、特殊字符),可暫時降低:
SET GLOBAL validate_password.length = 4;
SET GLOBAL validate_password.policy = LOW;
-- 修改完密碼後可改回
root 遠程登入,建立專用運維帳號並限制來源 IP。validate_password 元件強制複雜度。