phpMyAdmin用户偏好默认存于浏览器LocalStorage;启用高级功能后,才存入pma__userconfig表(JSON格式),服务端配置$cfg['ThemeDefault']等仍可覆盖部分设置。

phpMyAdmin 用户偏好设置存在哪里
phpMyAdmin 的用户界面偏好(比如默认排序、主题、字体大小、SQL 窗口高度等)不是存在数据库表里,而是存放在 pma__userconfig 表中——前提是你的 phpMyAdmin 已启用「高级功能」且该表已创建。这个表结构很简单:只有 username 和 config_data 两列,后者是 JSON 格式字符串。
如果你用的是共享服务器或 Docker 部署,很可能所有用户共用一个配置表;但如果是多实例独立部署,得先确认当前 phpMyAdmin 连接的是哪个数据库(通常叫 phpmyadmin 或 mysql),再查表是否存在。
常见错误现象:Table 'phpmyadmin.pma__userconfig' doesn't exist —— 这说明没启用高级功能,此时用户偏好实际保存在浏览器 LocalStorage 里,phpMyAdmin 服务端根本无从重置。
直接清空 pma__userconfig 表的 SQL 操作
只要表存在,重置所有用户的偏好就是一条 DELETE 语句,不需要逐个处理:
立即学习“PHP免费学习笔记(深入)”;
DELETE FROM `pma__userconfig`;
注意点:
- 执行前建议先备份:
SELECT * FROM `pma__userconfig`;
把结果复制保存一下 - 如果只想重置某位用户(比如
admin),用DELETE FROM `pma__userconfig` WHERE `username` = 'admin';
- 清空后,用户下次登录会按 phpMyAdmin 全局默认值(
config.inc.php中定义)加载界面,而不是恢复上次状态
浏览器端 LocalStorage 偏好怎么处理
当 pma__userconfig 表不存在,或者你发现清空表后某些设置(如左侧导航折叠状态、SQL 窗口位置)依然“记得”,那大概率是前端存的:
打开浏览器开发者工具(F12 → Application → LocalStorage),找域名对应的条目,通常键名类似:
pma_serverpma_langpma_collation_connection- 还有带时间戳或随机后缀的键,比如
pma_NKqZ5x9YtA
这些不能批量删——phpMyAdmin 没提供统一 key 前缀,最稳妥的做法是手动清掉所有以 pma_ 开头的键。Chrome/Firefox 都支持右键「Clear all」,但得确认当前页面是 phpMyAdmin 的地址(比如 http://localhost/phpmyadmin/),否则删错域了。
为什么重置后部分设置还是没变
这往往不是数据没清干净,而是某些偏好被硬编码进客户端逻辑或由服务端响应头控制:
典型例子:
- 主题切换(
theme)可能受$cfg['ThemeDefault']影响,改完表还得检查config.inc.php - SQL 查询自动补全开关(
EnableAutocomplete)是全局配置项,不走用户表,也不存 LocalStorage - 某些插件(如 Designer、PDF Schema)的布局状态只存在 session 或临时 cookie,关浏览器就失效,无需手动干预
最容易被忽略的是:phpMyAdmin 的「用户偏好」其实分三层——服务端表、浏览器 LocalStorage、PHP session 缓存。三者不同步时,表现就是“明明删了,怎么还在”。遇到这种情况,别急着重启服务,先 Ctrl+F5 强刷 + 清 LocalStorage + 换隐身窗口测试,比猜配置快得多。



















