正常情況下修改密碼
方法 1:SET PASSWORD 語句
shell> mysql -u root mysql
mysql> SET PASSWORD FOR root = PASSWORD('new_password');
方法 2:mysqladmin 指令
shell> mysqladmin -u root password new_password
遺忘 Root 密碼:緊急重置流程
- 終止 MySQL 進程:
killall -TERM mysqld
- 跳過權限表啟動:
mysqld_safe --skip-grant-tables &
- 免密登入:
mysql -u root
- 更新密碼:
mysql> UPDATE mysql.user SET password=PASSWORD('新密碼') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> QUIT
- 正常重啟 MySQL,即可使用新密碼登入
關鍵提醒
--skip-grant-tables 會暫時關閉所有權限檢查,務必在內網安全環境下操作,完成後立即正常重啟
PASSWORD() 加密方式非 Unix crypt 相容,僅供 MySQL 內部認證使用
- 生產環境建議定期輪換 root 密碼,並記錄於密碼管理工具