游乐游手机版
首页/数据库/文章详情

phpMyAdmin多台服务器部署中如何配置存储设置

时间:2026-08-23 22:04
在 phpMyAdmin 中管理多台服务器时,必须先正确配置存储数据库,否则书签、SQL 历史、关系视图等高级功能会失效,基于 cookie 的认证会话也可能无法持续保持;通常需要执行 create_tables sql 完成建库建表,并为专用用户授权,同时正确设置 pmadb、表前缀以及相关权限。

在 phpMyAdmin 中管理多台服务器时,必须先正确配置存储数据库,否则书签、SQL 历史、关系视图等高级功能会失效,基于 cookie 的认证会话也可能无法持续保持;通常需要执行 create_tables.sql 完成建库建表,并为专用用户授权,同时正确设置 pmadb、表前缀以及相关权限。

如何为phpMyAdmin多台服务器部署配置存储

为什么必须配置存储数据库才能管理多服务器

如果没有配置 pmadb,phpMyAdmin 将无法保存书签、SQL 历史、关系图、列注释等状态数据。在多服务器管理场景下,这些功能不仅会失效,还可能直接报错。更关键的是,像 cookie 这样的认证方式,在多台服务器之间切换时,往往需要依赖存储数据库来维持会话上下文;否则就可能出现跳转异常、登录后服务器列表不显示,或切换服务器失败等问题。

创建 phpmyadmin 存储数据库的正确步骤

最稳妥、最标准的做法是直接执行 sql/create_tables.sql 脚本,手动逐张建表很容易遗漏字段、索引或权限设置,从而导致 phpMyAdmin 存储功能不完整。

  • 进入 phpMyAdmin 程序目录,找到 sql/create_tables.sql 文件(常见路径为 /usr/share/phpmyadmin/sql/create_tables.sql/var/www/phpmyadmin/sql/create_tables.sql
  • 使用 root 或具备高权限的账号登录 MySQL/MariaDB:mysql -u root -p
  • 执行:CREATE DATABASE IF NOT EXISTS phpmyadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • 然后执行:USE phpmyadmin; SOURCE /path/to/sql/create_tables.sql;(注意替换为实际文件路径)
  • 为 phpMyAdmin 使用的连接用户授权(不要直接使用 root):GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pmauser'@'localhost';(其中 pmauser 应与 $cfg['Servers'][$i]['user'] 中的配置保持一致)

config.inc.php 中启用存储的三个关键点

仅仅取消注释 $cfg['Servers'][$i]['pmadb'] 远远不够,还必须同时配置关联表前缀以及具备权限的访问用户。

  • 确保每个服务器配置块里都明确指定 $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';,不能只写在全局配置中,也不能只给第一个服务器设置
  • 设置表前缀以避免多服务器环境下的冲突:$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';,同时还要对应配置 'relation', 'table_info', 'column_info' 等表名(当前脚本创建的表默认采用 pma__ 前缀)
  • 如果使用 auth_type = 'cookie',必须确认该服务器的连接用户(如 $cfg['Servers'][$i]['user'])对 phpmyadmin 数据库具备相应权限,否则登录后通常会出现“存储功能不可用”的提示

容易被忽略的兼容性陷阱

在 MySQL 9.6.0+ 和 MariaDB 11.x 环境中,存储表结构存在一定微调,旧版本 phpMyAdmin 可能因此出现读取失败或功能异常。

  • 检查 phpmyadmin 数据库中的 pma__tracking 表是否存在;如果不存在,通常说明脚本没有完整执行,或者当前版本之间存在兼容性问题
  • 如果采用 Docker 部署,并通过 PMA_HOSTS 配置多个地址,那么 pmadb 必须在所有目标服务器上都存在且表结构保持一致,不能只在主库中创建
  • 当配置了多台服务器,但只有部分服务器启用了 pmadb 时,phpMyAdmin 在切换到未启用的服务器后,会静默关闭高级功能,界面往往不会给出明显提示

配置 phpMyAdmin 存储数据库并不是简单地“打开开关”,而是实现多服务器稳定管理与协作的基础条件。无论是表结构、访问权限还是表前缀设置,三者都必须完整到位,任何一项缺失都可能导致功能降级、会话异常或界面显示不正常。

来源:https://www.php.cn/faq/3024843.html
上一篇MySQL用户权限设置:如何仅允许执行SELECT查询 下一篇phpMyAdmin防止任意文件上传攻击的方法与安全配置
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Redis是什么:核心特性、架构与应用场景解析
数据库 · 2026-09-01

Redis是什么:核心特性、架构与应用场景解析

Redis是一款基于内存的键值型NoSQL数据库,以超高读写速度和丰富的数据结构著称。本文系统梳理Redis的核心特性、架构组成、性能优势及典型应用场景,并通过与Memcached、MySQL、MongoDB的对比,帮助开发者快速判断Redis是否适合当前业务需求。

Windows 安装 MongoDB 完整图文教程
数据库 · 2026-09-01

Windows 安装 MongoDB 完整图文教程

本文详细介绍在 Windows 系统上安装 MongoDB 的完整流程。从官网下载 MSI 安装包开始,逐步演示自定义安装路径、配置 Windows 服务、跳过 MongoDB Compass 等关键选项,并提供通过系统服务列表验证安装是否成功的方法,帮助开发者快速搭建本地 MongoDB 环境。

Linux 安装 MongoDB 完整指南:依赖配置、环境变量与服务启动
数据库 · 2026-09-01

Linux 安装 MongoDB 完整指南:依赖配置、环境变量与服务启动

本文详解在 Linux 系统下安装 MongoDB 的完整流程,涵盖依赖包安装、二进制包下载解压、环境变量配置、数据与日志目录创建及服务启动验证。通过标准化命令与路径说明,帮助开发者快速完成部署并确认服务状态。

MacOS安装MongoDB完整教程
数据库 · 2026-09-01

MacOS安装MongoDB完整教程

本文介绍在MacOS系统下安装MongoDB的完整流程,涵盖下载、解压、目录配置、环境变量设置及服务启动。通过明确的命令与参数说明,帮助开发者快速完成环境搭建并验证安装结果。

Ubuntu系统安装与配置Redis完整指南
数据库 · 2026-09-01

Ubuntu系统安装与配置Redis完整指南

本文详解在Ubuntu系统中安装Redis的两种主流方式:apt在线安装与源码编译安装。涵盖版本选择逻辑、服务启停与状态检查、连接验证方法,以及在线练习工具与桌面GUI客户端的对比与使用建议,帮助开发者快速搭建并验证Redis运行环境。