在資料庫管理工作中,忘記 MySQL root 密碼是常見情況。無論是剛接手新伺服器,還是長時間未登入導致遺忘,掌握正確的重置流程至關重要。本文將詳細介紹 Windows 和 Linux 環境下 MySQL 密碼重置的標準方法,助您快速恢復資料庫存取權限。
net stop mysql
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
--skip-grant-tables 參數啟動 MySQL 服務(跳過權限驗證):mysqld --skip-grant-tables
mysql -u root
FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
net start mysql
init.txt,內容為:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
mysqld --init-file=C:\init.txt
systemctl stop mysqld或
service mysql stop
/etc/my.cnf 或 /etc/mysql/my.cnf,在 [mysqld] 區段加入:skip-grant-tables
systemctl start mysqld
mysql -u root FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
skip-grant-tables,重啟服務。SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密碼'); 語法。skip-grant-tables 設定,並考慮建立權限較低的應用程式專用帳號。validate_password 元件的長度、複雜度要求。MySQL 密碼重置的核心原理是暫時繞過權限驗證機制。Windows 環境下推薦使用 --init-file 方法較為乾淨;Linux 環境則透過修改配置檔實現。操作完成後,請務必恢復正常安全設定,並妥善保管新密碼。建議定期更換密碼,並啟用密碼過期策略提升資料庫安全性。