報錯現象
Access denied for user 'root'@'localhost'
重置步驟
- 停止服務:
/etc/init.d/mysql stop
- 跳過授權表、禁用網絡、以 mysql 用戶啟動:
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
- 無密碼登入:
mysql -u root mysql
- 更新密碼:
UPDATE user SET Password=PASSWORD('yournewpasswd') WHERE User='root';
FLUSH PRIVILEGES;
QUIT;
- 正常重啟:
/etc/init.d/mysql restart
驗證
$ mysqladmin -u root -p'yournewpasswd' ping
mysqld is alive
$ mysql -u root -p
Enter password: yournewpasswd
Welcome to the MySQL monitor...
關鍵點提示
--skip-grant-tables 臨時禁用權限檢查,**僅限本地緊急修復**,用畢即關閉。
--skip-networking 防止修復窗口期被遠程訪問。
- Gentoo OpenRC 腳本管理服務,路徑為
/etc/init.d/mysql。