必须备份config.inc.php,因为它是phpMyAdmin唯一存储所有个性化配置(如MySQL连接参数、blowfish_secret、auth_type等)的文件,升级时会被覆盖且不可再生;其他文件可重装覆盖,而该文件缺失将直接导致登录失败、无法连接MySQL或界面无法访问。
升级 phpmyadmin 前必须备份 config.inc.php,否则配置丢失会导致登录失败、连接不上 mysql、甚至完全无法访问界面——这不是“可能”,而是大概率发生。
为什么只备份 config.inc.php 就够了
phpMyAdmin 是无状态 Web 应用,不存用户数据或数据库内容;所有个性化设置(MySQL 主机、端口、认证方式、blowfish_secret、高级功能开关等)全在 config.inc.php 里。其他文件(如 config.sample.inc.php、setup/ 目录)可随新版本重装覆盖,唯独这个文件不可再生。
- 升级过程通常会替换整个 phpMyAdmin 目录,旧
config.inc.php不会被自动迁移 - 新版可能校验
$cfg['blowfish_secret']长度或格式,空值或过短会直接报错 “Error during session start” - 若用
'auth_type' => 'cookie',缺失密钥将导致反复跳转登录页,且无明确错误提示
备份时最容易漏掉的三个位置
别只盯着 Web 根目录下的 phpMyAdmin 文件夹——实际部署中,config.inc.php 可能被放在系统级路径,由 Web 服务器通过别名或符号链接加载:
-
/etc/phpmyadmin/config.inc.php(Debian/Ubuntu 系统包安装默认位置) -
/usr/share/phpmyadmin/config.inc.php(RHEL/CentOS 包安装常见路径) -
/var/lib/phpmyadmin/config.inc.php(某些 Docker 或自定义部署方案)
执行 find / -name "config.inc.php" 2>/dev/null 比盲目复制更可靠。
备份后验证是否有效
光拷贝文件不等于万事大吉。升级前应快速验证备份可用性:
立即学习“PHP免费学习笔记(深入)”;
- 用
md5sum config.inc.php记下哈希值,升级后比对是否一致 - 临时改名原文件(如
mv config.inc.php config.inc.php.bak),把备份文件放回原位,重启 Apache/Nginx 后访问 phpMyAdmin,确认能正常登录并连上数据库 - 检查首页底部是否显示正确 MySQL 版本和服务器信息——这是配置生效的最直观信号
真正危险的不是备份动作本身,而是误以为“我有备份”就忽略路径差异和权限继承问题:比如新版 phpMyAdmin 要求 config.inc.php 的 owner 必须是 Web 服务器用户(www-data 或 nginx),而你从 root 备份下来的文件 chmod 600 后没改 owner,升级后就会 500 错误静默失败。



















