phpMyAdmin 是最經典的 MySQL Web 管理介面。本文整理 2.x 版本的快速安裝、config.inc.php3 關鍵參數、多伺服器支援、基本/進階認證模式、安全防護與常見問題。
| 鍵值 | 型別 | 說明 |
host | string | 主機名,如 localhost |
port | string | 埠號,預設 3300 (保留空值) |
adv_auth | boolean | true=進階認證 (HTTP Auth),false=基本認證 (配置檔存帳密) |
user/password | string | 基本認證模式使用 |
stduser/stdpass | string | 進階認證模式:驗證真實使用者的標準帳號 (需讀 mysql.user/db 表) |
only_db | string | 僅顯示指定資料庫 |
verbose | string | 下拉選單顯示名稱 (多伺服器時) |
認證模式對比
| 模式 | adv_auth | 帳密儲存 | 適用場景 |
| 基本認證 | false | config.inc.php3 明文 | 單一管理員、內網、受保護目錄 |
| 進階認證 | true | 不存儲,HTTP Auth 即時驗證 | 多使用者、共享主機、Shell 存取環境 |
進階認證流程
- 使用者輸入帳密 → HTTP Basic Auth
- phpMyAdmin 用
stduser/stdpass 連線 MySQL,查詢 mysql.user 驗證帳密
- 若
Select_priv='N',查 mysql.db 找 Select_priv='Y' 的庫
- 顯示授權資料庫列表
建立 phpMyAdmin 專用驗證帳號
INSERT INTO user (Host,User,Password,Select_priv,...) VALUES ('localhost','pma',PASSWORD('xxx'),'N',...);
INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,...)
VALUES ('localhost','*','pma','Y','Y','Y','Y','Y','Y',...);
介面客製化參數
| 參數 | 說明 |
$cfgMaxRows | 瀏覽每頁列數 |
$cfgShowBlob | 是否顯示 BLOB 欄位 |
$cfgShowSQL | 是否顯示產生的 SQL |
$cfgOrder | 預設排序 ASC/DESC |
$cfgThBgcolor/$cfgBgcolorOne/Two | 表頭/奇偶列顏色 |
常見問題 FAQ
- 無法插入新記錄:檢查
VARCHAR 未指定長度、TEXT/BLOB 錯誤指定長度
- 無法連線 MySQL:PHP 未編譯 MySQL 擴充、帳密錯誤
- 無法編輯表:表必須有 PRIMARY KEY 或 UNIQUE KEY
- 進階認證 Access Denied:stduser/stdpass 錯誤、.htaccess 干擾、帳密輸入錯誤
安全建議
- 生產環境必須啟用進階認證 + HTTPS
- 配置檔移至 Web 根目錄外部
$cfgConfirm = true 刪除/匯出前二次確認
- 定期更新 phpMyAdmin 修補安全漏洞
結語
phpMyAdmin 2.x 奠定了 Web 資料庫管理的標準。現代版本 (5.x) 支援 PHP 7/8、MySQL 8.0、雙因子認證、主題系統、匯入/匯出格式大幅擴充。核心配置邏輯 (多伺服器、認證模式、權限控制) 保持一致。
- 上一篇文章: MySQL 雙向主從同步設定:互為主從的循環複寫架構與風險提示
- 下一篇文章: SQL Server 預存程序實戰:游標合併兩表前兩列資料至暫存表
Copyright ©
程式碼之家 All Rights Reserved