MySQL 修改 root 密碼分「知道舊密碼」與「完全忘記」兩種情境,處理方式截然不同。
-- 進入 MySQL 命令列後執行
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpasswd');
FLUSH PRIVILEGES;
或使用 mysqladmin:
mysqladmin -u root -p'oldpass' password 'newpass'
service mysql stop (Linux) 或「服務」管理員停止 (Windows)。--skip-grant-tables 啟動:mysqld_safe --skip-grant-tables & (Linux)mysql -u root。USE mysql;
UPDATE user SET authentication_string=PASSWORD('newpass') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
skip-grant-tables,正常重啟 MySQL 服務。5.7 起 `password` 欄位改名為 `authentication_string`,更新語法請用上述欄位名;8.0 另需注意 `caching_sha2_password` 預設驗證外掛。
mysql_secure_installation 移除匿名帳號、禁止 root 遠端登入、移除測試資料庫。