遺忘 MySQL root 密碼在 Windows 環境下可透過 --skip-grant-tables 參數略過權限驗證,直接更新 mysql.user 表完成重置。全程僅需兩個 CMD 視窗,無需修改配置檔。
cd D:\Program Files\MySQL\MySQL Server 5.5\bin
net stop mysql
mysqld --skip-grant-tables
此視窗保持開啟,MySQL 服務在無權限模式下運行。
cd D:\Program Files\MySQL\MySQL Server 5.5\bin
mysql -uroot -p
-- 直接按 Enter 跳過密碼輸入
mysql> UPDATE mysql.user SET password=PASSWORD('新密碼') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> EXIT
net start mysql
--skip-grant-tables 讓 mysqld 啟動時不載入授權表,任何用戶可無密碼連線並擁有所有權限。更新完密碼後,FLUSH PRIVILEGES 重新載入授權表,再以 net start mysql 正常重啟服務即可生效。
此法比修改 my.ini 或使用 mysqladmin 更直觀快速,適合緊急情況。