MySQL 根用戶 root 密碼遺忘是常見運維場景。本文提供 Windows 與 Unix/Linux 兩大平台的詳細重置步驟,並給出通用的跳過權限表法,幫助您快速恢復訪問權限。
c:\MySQL\pwdhf.txt,內容為:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassWord');C:/MySQL/bin,執行:c:\mysql\bin\mysqld-nt --init-file=c:\MySQL\pwdhf.txtmysqld-nt --defaults-file="path\my.ini" --init-file=c:\MySQL\pwdhf.txt.pid 文件(常見於 /var/lib/mysql/、/var/run/mysqld/、/usr/local/mysql/data/,文件名為「主機名.pid」),執行:kill `cat /mysql-data-directory/host-name.pid` 結束進程。~/mysql-init,內容同 Windows 步驟 3。mysqld_safe --init-file=~/mysql-init &mysql-init 文件。--skip-grant-tables --user=root 選項啟動(Windows 可省略 --user=root)。mysql -u rootUPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
FLUSH PRIVILEGES;FLUSH PRIVILEGES 使權限生效。--skip-grant-tables 並正常重啟服務。