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

phpMyAdmin 配置文件 config.inc.php 完整詳解與部署指南

     編輯:MySQL 綜合教學

phpMyAdmin 部署三步走

  1. 下載:官網 phpMyAdmin 下載全語言包,解壓至 Web 可訪問目錄(可重命名目錄)
  2. 配置:編輯 config.inc.php(或舊版 libraries/config.default.php),建議使用支持 UTF-8 的編輯器(如 VS Code、Notepad++)
  3. 訪問:瀏覽器打開配置的 URL,輸入 MySQL 賬號密碼即可管理

核心配置參數詳細說明

1. 絕對訪問 URI

$cfg['PmaAbsoluteUri'] = 'https://your-domain.com/phpmyadmin/';

必須設置,否則部分功能(如導出、跨幀操作)會異常。

2. MySQL 服務器連接信息

$cfg['Servers'][$i]['host'] = 'localhost';     // 主機名或 IP
$cfg['Servers'][$i]['port'] = '';              // 空即默認 3306
$cfg['Servers'][$i]['user'] = 'root';          // MySQL 用戶名
$cfg['Servers'][$i]['password'] = 'yourpass';  // 對應密碼

3. 認證模式選擇(關鍵安全決策)

$cfg['Servers'][$i]['auth_type'] = 'cookie';  // 推薦:cookie 認證
模式適用場景安全性PHP SAPI 要求
config本地測試極低(無需登錄)任意
cookie生產環境首選高(表單登錄,會話加密)Apache 模塊 / CGI 均可
http生產環境備選高(瀏覽器基本認證)僅 Apache 模塊
signon單點登錄集成高需開發對接

4. Blowfish 密鑰(cookie 模式必填)

$cfg['blowfish_secret'] = 'a_very_long_random_string_32chars_min'; // ≥32 字符隨機串

用於加密 cookie 認證數據,留空會報錯「Blowfish secret is too short」。可用 openssl_random_pseudo_bytes(32) 生成。

5. 常用優化配置

// 僅顯示指定數據庫(多租戶場景)
$cfg['Servers'][$i]['only_db'] = 'my_database';

// 默認語言
$cfg['DefaultLang'] = 'zh';  // 簡體中文;'zh-tw' 為繁體

// 最大顯示行數
$cfg['MaxRows'] = 50;

// 禁止顯示服務器信息
$cfg['ShowServerInfo'] = false;

// 啟用壓縮傳輸
$cfg['CompressOnFly'] = true;

多服務器管理配置範例

$i = 0;
// 服務器 1:主庫
$i++;
$cfg['Servers'][$i]['host'] = '192.168.1.10';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'admin';
$cfg['Servers'][$i]['password'] = '';

// 服務器 2:從庫只讀
$i++;
$cfg['Servers'][$i]['host'] = '192.168.1.11';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'readonly';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['read_only'] = true;  // 界面提示只讀

安全加固清單

  1. 強制 HTTPS:Web 服務器配置 SSL,防止密碼明文傳輸
  2. 限制訪問 IP:Nginx/Apache 層面 allow 10.0.0.0/8; deny all;
  3. 修改默認目錄名:避免 /phpmyadmin 被掃描器發現
  4. 禁用不必要功能:$cfg['AllowArbitraryServer'] = false; 禁止任意服務器連接
  5. 定期更新:關注 安全公告 及時升級

常見問題排查

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
現象原因解決
登錄提示 "Cannot log in to the MySQL server"宿主機防火牆/安全組阻擋 3306、MySQL bind-address 不對、用戶宿主限制檢查網絡連通性、MySQL bind-address=0.0.0.0、用戶 user@'%'
導出大文件失敗/超時PHP max_execution_time、memory_limit、post_max_size 限制調大 PHP 參數或用命令行 mysqldump
界面亂碼配置文件編碼非 UTF-8 或 DefaultLang 不匹配確保文件 UTF-8 無 BOM、設置正確語言