透過圖形化介面 phpMyAdmin 修改 MySQL root 密碼,比命令列更直觀、適合不熟悉 SQL 指令的使用者。本文詳細說明修改密碼、同步更新 phpMyAdmin 設定檔、驗證登入的完整流程。
UPDATE mysql.user 表權限的帳號)https://localhost/phpmyadmin)root 及目前密碼登入NewPass2024! 替換為您的新密碼):UPDATE mysql.user SET Password = PASSWORD('NewPass2024!') WHERE User = 'root';
在同一 SQL 頁面繼續執行:
FLUSH PRIVILEGES;
此指令將權限表快取刷新至記憶體,使新密碼即時生效。
若未同步,phpMyAdmin 將無法以新密碼自動登入!
config.inc.php(通常位於 phpMyAdmin 根目錄)\$cfg['Servers'][\$i]['password']\$cfg['Servers'][\$i]['password'] = 'NewPass2024!';
root / NewPass2024! 登入| 現象 | 可能原因 | 解決方式 |
|---|---|---|
| 執行 UPDATE 顯示「0 列受影響」 | Host 欄位不匹配(如 root@127.0.0.1 vs root@localhost) | 改用 UPDATE mysql.user SET Password=PASSWORD('...') WHERE User='root' AND Host='%'; 或針對各 Host 逐一更新 |
| 修改後 phpMyAdmin 仍自動登入舊密碼 | config.inc.php 未更新或瀏覽器快取 | 確認設定檔已存檔、清除瀏覽器快取或無痕模式測試 |
出現 #1045 Access denied | 密碼錯誤或權限表損壞 | 改用命令列 mysqld_safe --skip-grant-tables 重置(參考相關教學) |
config.inc.php,改用 config.sample.inc.php 範本並在部署時注入環境變數UPDATE mysql.user SET Host='localhost' WHERE User='root'; FLUSH PRIVILEGES;mysql -u root -p
# 登入後執行:
UPDATE mysql.user SET Password = PASSWORD('NewPass2024!') WHERE User = 'root';
FLUSH PRIVILEGES;
EXIT;
掌握 phpMyAdmin 修改密碼流程,即可在無命令列權限或偏好 GUI 操作的環境下,快速、安全地完成 MySQL root 密碼變更與同步設定。