phpmyadmin 4.9+ 移除了“用户账户”顶部标签页,权限管理需通过登录管理员账号后进入 mysql 数据库 → user 表 → browse 查看;mysql 库被隐藏、权限不足、mysql 8.0+ caching_sha2_password 插件兼容性、create user 权限缺失或未执行 flush privileges 均会导致用户管理异常。
phpmyadmin 4.9+ 默认隐藏“用户账户”顶部标签页
不是你漏看了,也不是配置错了——user accounts 这个选项卡在 phpmyadmin 4.9 及之后版本里被官方移除了。这是有意为之的设计变更,目的是降低普通用户误操作 mysql.user 表的风险。
权限管理功能本身没删,只是入口变了:必须用具备 SELECT 权限的账号(通常是 root 或明确授过权的管理员)登录后,手动进入 mysql 数据库 → 找到 user 表 → 切换到 Browse 标签页,才能看到用户列表。
- 如果左侧数据库列表里压根看不到
mysql,检查config.inc.php中是否设置了$cfg['Servers'][$i]['hide_db'] = 'information_schema|performance_schema|mysql|sys'—— 这会直接屏蔽整个mysql库 -
mysql库被隐藏后,user表不可见,自然无法管理用户 - 即使有权限,若当前登录账号对
mysql.user表没有SELECT权限,也会显示为空或报错#1142 - SELECT command denied
MySQL 8.0+ 的 caching_sha2_password 插件导致用户列表加载失败
如果你用的是 MySQL 8.0+,且 root 或其他管理账号的认证插件是 caching_sha2_password(默认),那么 phpMyAdmin ≤ 5.0.2 会连 mysql.user 表都查不出来——不是权限问题,是底层 mysqli 驱动不兼容该插件的握手协议。
现象包括:页面空白、报错 #1142、或用户列表始终为空,哪怕你用 root 登录也一样。
- 验证方式:执行
SELECT User, Host, plugin FROM mysql.user WHERE User = 'root';,看plugin字段是不是caching_sha2_password - 临时修复:运行
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpass'; FLUSH PRIVILEGES; - 长期方案:升级 phpMyAdmin 至 5.0+,或确保连接配置中启用了
$cfg['Servers'][$i]['auth_type'] = 'cookie';并配好 socket/host
点“添加用户账户”没反应,根本不是界面问题
点击 Add user account 后静默刷新、表单清空、或新用户不出现,通常是因为当前登录账号缺少底层权限,而非前端 bug。
phpMyAdmin 创建用户依赖 CREATE USER、INSERT 和 UPDATE 权限(尤其是对 mysql.user 表),这些权限缺一不可。
- 检查当前账号是否拥有
CREATE USER权限:执行SHOW GRANTS FOR CURRENT_USER; -
Host字段不能为空,也不能只填空格;密码字段同理,纯空格会被忽略 - 如果 phpMyAdmin 运行在
auth_type = 'config'模式下,它会直接用配置文件里的账号密码连接,此时改界面输入无效,得同步更新config.inc.php中的$cfg['Servers'][$i]['user']和$cfg['Servers'][$i]['password']
老版本用户习惯导致的路径错位
从 phpMyAdmin 4.x 升上来的人容易卡在“找不到入口”上——因为 4.x 版本根本没有顶部的 Users 标签页,入口在右上角用户名下拉菜单里的 Privileges,而不是“用户账户”或“权限管理”。
更隐蔽的是:进入用户编辑页后,默认只展开数据库级权限区域,Global privileges 折叠在页面最底部,且下拉框里必须手动选 All databases 才能勾选 SELECT、INSERT 等全局权限。
- 选完权限后,老版本不会自动刷新权限表,必须额外点击右上角的
Reload privilege tables按钮,并执行FLUSH PRIVILEGES; - 如果下拉框里没有
All databases,说明当前账号缺乏GRANT OPTION,或者 MySQL 启用了--skip-grant-tables - 左侧数据库列表里点的“权限”,仅作用于当前选中的库,和用户全局权限无关
实际操作中最容易被忽略的,是 FLUSH PRIVILEGES; 这一步——改了 account_locked、改了认证插件、加了权限,不执行这句,几乎等于没做。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











