修改 MySQL root 密碼後,phpMyAdmin 因配置檔仍存舊密碼而無法登入。本文提供兩種同步修改方案,任選其一即可。
mysql -u root -p
mysql> USE mysql;
-- MySQL 5.7 / 8.0
UPDATE user SET authentication_string = PASSWORD('新密碼') WHERE User = 'root';
-- MySQL 5.6 及以下
UPDATE user SET Password = PASSWORD('新密碼') WHERE User = 'root';
FLUSH PRIVILEGES;
/* 找到對應伺服器陣列索引 $i,通常為 1 */
$cfg['Servers'][$i]['password'] = '新密碼'; // 填入與上方相同的新密碼
/* 若使用 config.sample.inc.php 為藍本,請確認已重命名為 config.inc.php */
| phpMyAdmin `$cfg['Servers'][$i]['auth_type']` | 行為 | 配置密碼用途 |
|---|---|---|
| cookie(預設) | 登入頁輸入帳密 | 配置檔密碼僅供 phpMyAdmin 內部連線控制用戶,不影響用戶登入 |
| config | 直接以配置檔帳密登入,無登入頁 | **必須**與 MySQL 實際密碼一致,否則無法登入 |
| http | 瀏覽器 HTTP Basic Auth 彈窗 | 同 cookie,配置密碼供內部使用 |
方案一(命令列)通用性最強,適用於無圖形介面、ssh 僅有終端機的伺服器;方案二適合習慣圖形操作的場景。核心要點:**MySQL 端改密 → FLUSH PRIVILEGES → phpMyAdmin 配置檔同步更新**。