首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

phpMyAdmin 登入「存取被拒」真相:AllowNoPasswordRoot 設定詳解

     編輯:PHP 綜合知識

問題現象

安裝最新版 phpMyAdmin 後,使用 root 無密碼登入(本機開發常見情況),卻一直出現「存取被拒絕」錯誤。檢查權限設定無誤,網路搜尋也找不到明確解答。

根本原因

追蹤原始碼發現,設定檔 config.inc.php 中有項關鍵設定:

$cfg['Servers'][$i]['AllowNoPasswordRoot'] = false;

在 libraries/common.inc.php 第 886 行進行驗證:若為 false 且使用者為 root,則強制要求密碼不為空,否則直接拒絕驗證。預設值即為 false,這是出於安全考量,強制要求 root 設定密碼。

解決方法

  1. 開啟 config.inc.php。
  2. 找到 $cfg['Servers'][$i]['AllowNoPasswordRoot']。
  3. 將值改為 true:
$cfg['Servers'][$i]['AllowNoPasswordRoot'] = true;

建議改進

官方若能在拒絕時給出更明確的提示(如「root 密碼為空,目前安全等級不允許登入,請至設定檔修改 AllowNoPasswordRoot」),將大幅降低開發者除錯成本。

補充提醒

  • 生產環境務必為 root 設定強密碼,並保持 AllowNoPasswordRoot = false。
  • 本機開發環境若修改為 true,請確保資料庫不對外開放存取。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved