MySQL 預設埠號為 3306。若資料庫伺服器改用非標準埠(如 3307、3308),phpMyAdmin 必須同步修改設定檔才能連線。本文說明修改 config.inc.php 的完整步驟與參數說明。
/etc/phpmyadmin/config.inc.php 或 /usr/share/phpmyadmin/config.inc.phpphpMyAdmin/config.inc.phpconfig.inc.php 至 /etc/phpmyadmin/config.inc.php<?php
/* 伺服器陣列索引 $i 通常為 0 或 1 */
$cfg['Servers'][$i]['host'] = 'localhost'; // 主機
$cfg['Servers'][$i]['port'] = '3307'; // **關鍵:指定埠號**
$cfg['Servers'][$i]['socket'] = ''; // Unix socket(留空走 TCP)
$cfg['Servers'][$i]['auth_type'] = 'cookie'; // 驗證模式:cookie/config/http/signon
$cfg['Servers'][$i]['user'] = 'root'; // config 模式時需填
$cfg['Servers'][$i]['password'] = 'your_password'; // config 模式時需填
$cfg['Servers'][$i]['connect_type'] = 'tcp'; // tcp/socket
$cfg['Servers'][$i]['extension'] = 'mysqli'; // 推薦 mysqli
$cfg['Servers'][$i]['AllowNoPassword'] = false; // 禁止空密碼
$cfg['Lang'] = 'zh_TW'; // 介面語言
| MySQL 埠號 | 設定值 |
|---|---|
| 3306 (預設) | $cfg['Servers'][$i]['port'] = '3306'; 或留空(預設) |
| 3307 | $cfg['Servers'][$i]['port'] = '3307'; |
| 3308 | $cfg['Servers'][$i]['port'] = '3308'; |
| Unix Socket | $cfg['Servers'][$i]['socket'] = '/var/run/mysqld/mysqld.sock'; + port='' |
config.inc.php。cookie 模式,可能需登出重登入。systemctl status mysqldfirewall-cmd --add-port=3307/tcpbind-address = 0.0.0.0 (my.cnf)# docker-compose.yml
services:
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: db
PMA_PORT: 3307 # 直接用環境變數指定埠
PMA_USER: root
PMA_PASSWORD: secret
ports:
- "8080:80"
無需手動編輯 config.inc.php,環境變數自動映射。
修改 phpMyAdmin 連接埠只需在 config.inc.php 設定 $cfg['Servers'][$i]['port'] = 'XXXX';。搭配正確的驗證模式、防火牆規則、MySQL 綁定設定,即可順利管理非標準埠資料庫。生產環境務必使用 cookie 或 signon 驗證、強制 HTTPS、限制存取 IP。