# 下載腳本
wget https://down.hostwiki.info/mysql/reset-mysql-root-password.phps
# 執行,參數為新密碼
php reset-mysql-root-password.phps 'NewStrongPass!23'
腳本內容:停服務 → --skip-grant-tables 啟動 → 更新 mysql.user → 重啟驗證。
注意:
- 腳本中 mysqld_safe 路徑可能需修改。
- 服務名可能為 mysqld 或 mysql。
- **嚴禁在裝有寶塔/DA/cPanel 等面板的機器執行**,會導致面板失聯。
net stop mysql(或任務管理員結束進程)。X:\MySQL\bin\mysqld-nt.exe --skip-grant-tablesX:\MySQL\bin\mysql -u root -p(密碼直接 Enter)。USE mysql;
UPDATE user SET password=PASSWORD('NewPass') WHERE user='root';
FLUSH PRIVILEGES;mysqld-nt.exe 視窗,net start mysql。| 版本 | 密碼欄位 | 修改語法 |
|---|---|---|
| 5.6 及以下 | password | UPDATE user SET password=PASSWORD('x') WHERE user='root'; |
| 5.7 | authentication_string | UPDATE user SET authentication_string=PASSWORD('x') WHERE user='root'; |
| 8.0 | authentication_string | ALTER USER 'root'@'localhost' IDENTIFIED BY 'x'; |