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

phpMyAdmin 安裝配置與允許空密碼登錄解決方案

     編輯:PHP 相關知識

phpMyAdmin 安裝配置與允許空密碼登錄解決方案

phpMyAdmin 是最流行的 MySQL/MariaDB Web 管理工具。本文記錄標準安裝流程、空密碼登錄報錯解決、安全加固配置與常見問題排查。

標準安裝流程

方法一:官網下載部署(通用)

# 1. 下載最新版(或指定版本)
cd /tmp
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

# 2. 解壓到 Web 根目錄
sudo tar xzf phpMyAdmin-latest-all-languages.tar.gz -C /var/www/html/
sudo mv /var/www/html/phpMyAdmin-*-all-languages /var/www/html/phpmyadmin

# 3. 設置權限
sudo chown -R www-data:www-data /var/www/html/phpmyadmin
sudo chmod -R 755 /var/www/html/phpmyadmin

# 4. 訪問測試
# https://your-domain/phpmyadmin/

方法二:APT 安裝(Ubuntu/Debian,自動依賴管理)

sudo apt update && sudo apt install phpmyadmin
# 安裝過程會提示:
# - Web 服務器選擇:apache2 / lighttpd
# - 數據庫配置:dbconfig-common (Yes)
# - MySQL root 密碼、phpmyadmin 專用用戶密碼

# 包含 Apache 配置自動啟用:/etc/apache2/conf-enabled/phpmyadmin.conf
# 訪問:https://your-domain/phpmyadmin/

方法三:Composer 安裝(現代 PHP 專案集成)

composer create-project phpmyadmin/phpmyadmin --no-dev
# 適合嵌入專案或獨立部署,需手動配置 Web 服務器指向 vendor/phpmyadmin/phpmyadmin

解決「空密碼登錄被禁止」錯誤

錯誤提示:空密碼登錄被禁止 (參見 允許空密碼)

原因

phpMyAdmin 預設配置 $cfg['Servers'][$i]['AllowNoPassword'] = false; 禁止空密碼登錄,防止無密碼 root 賬號被訪問。

解決方案

# 1. 複製配置模板
cd /var/www/html/phpmyadmin
cp config.sample.inc.php config.inc.php

# 2. 編輯配置文件
# 找到並修改:
$cfg['Servers'][$i]['AllowNoPassword'] = true;

# 完整示例片段:
$i = 0;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';        # 空密碼
$cfg['Servers'][$i]['AllowNoPassword'] = true; # 關鍵:允許空密碼
$cfg['Servers'][$i]['auth_type'] = 'cookie'; # 推薦 cookie 認證

安全加固必要配置

配置項推薦值說明
blowfish_secret32字符隨機串Cookie 加密密鑰,必須設置且保密
ForceSSLtrue強制 HTTPS 訪問
LoginCookieValidity1440 (24小時)登錄 Cookie 有效期
LoginCookieStore0關閉「記住我」,瀏覽器關閉即失效
MaxRows50默認顯示行數,防大表卡死
ExecTimeLimit300腳本執行超時,防長查詢阻塞
AllowArbitraryServerfalse禁止任意服務器連接
CaptchaLoginPublicKey/PrivateKey配置 reCAPTCHA登錄驗證碼防暴力破解

完整 config.inc.php 關鍵片段



常見問題排查

問題原因解決
404 Not FoundApache 未加載 phpmyadmin 配置sudo a2enconf phpmyadmin && systemctl reload apache2
「mysqli 擴展未安裝」PHP 缺少 mysqli/pdo_mysqlsudo apt install php-mysqli php-pdo-mysql && systemctl restart php-fpm
權限不足無法創建表用戶缺少 CREATE/ALTER 權限GRANT ALL ON *.* TO 'user'@'%' IDENTIFIED BY 'pass'; FLUSH PRIVILEGES;
導出大文件失敗PHP memory_limit/upload_max_filesize 過小調整 php.ini:memory_limit=256M, upload_max_filesize=100M, post_max_size=100M
Session 錯誤session.save_path 不可寫chown www-data:www-data /var/lib/php/sessions

生產環境替代方案建議

phpMyAdmin 歷史漏洞頻出,生產環境建議:

  1. 僅內網訪問:防火牆/安全組限制來源 IP,或 SSH 隧道轉發 ssh -L 8080:localhost:80 user@server
  2. 使用桌面客戶端:DBeaver、DataGrip、MySQL Workbench、TablePlus(更安全、功能更強)
  3. 命令行管理:mysql -u root -p、mysqldump、pt-toolkit
  4. 現代化 Web 替代品:Adminer(單文件、輕量)、phpRedMin(Redis專用)

phpMyAdmin 適合開發測試環境快速操作數據庫。生產環境務必嚴格限制訪問來源、強制 HTTPS、設置強密碼、定期更新版本。空密碼登錄僅用於受控內網開發環境,絕不可用於生產。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved