phpmyadmin 4.9+ 默认隐藏“用户账户”选项卡,需登录具备mysql.user表select权限的账号后,手动进入mysql数据库→user表→browse页查看和管理用户。
phpmyadmin 4.9+ 版本默认隐藏用户账户管理界面
新版 phpmyadmin(4.9 及以后)把 user accounts 选项卡从顶部导航栏移除了,不是你漏看了,是它真不显示了。这个改动源于 mysql 权限模型的复杂性,以及 phpmyadmin 官方希望降低普通用户误操作风险的考虑。
实际权限管理仍存在,只是入口变了:
- 必须用具有
SELECT权限的mysql.user表访问权限的账号登录(通常是root或明确授过权的管理员) - 登录后点击左侧数据库列表里的
mysql数据库 → 进入表列表 → 找到并点击user表 → 切换到Browse标签页,才能看到用户列表 - 编辑单个用户需点击对应行的
Edit图标,但密码字段默认不显示明文(Password列值为*xxx哈希),修改得手动填入PASSWORD('newpass')或用SHA2('newpass', 256)(取决于 MySQL 版本)
MySQL 8.0+ 用户认证插件导致 phpMyAdmin 无法加载用户列表
如果你用的是 MySQL 8.0+,且用户使用了 caching_sha2_password 插件(默认),phpMyAdmin 旧版本(mysql.user 表数据,甚至报错 #1142 - SELECT command denied to user,哪怕你用 root 登录也一样。
这不是权限没给够,而是 phpMyAdmin 的底层 mysqli 驱动不兼容该插件的握手协议:
- 临时解决:用命令行执行
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpass'; FLUSH PRIVILEGES; - 长期方案:升级 phpMyAdmin 至 5.0+,或确保连接配置中启用了
$cfg['Servers'][$i]['auth_type'] = 'cookie';并配合正确的 socket/host 设置 - 验证方式:在 phpMyAdmin 的
Home→Settings→Features里看是否提示 “Authentication plugin: caching_sha2_password”
phpMyAdmin 配置里禁用了用户管理功能
有些环境(比如 cPanel、AMPPS 或 Docker 镜像)会主动在 config.inc.php 中关闭用户管理,表现为即使有权限也看不到任何用户相关入口。
检查你的配置文件中是否存在以下设置:
$cfg['Servers'][$i]['hide_db'] = 'information_schema|performance_schema|mysql|sys';
如果 mysql 被隐藏了,你就进不了 user 表;更隐蔽的是这一行:
$cfg['Servers'][$i]['DisableIS'] = true;
它会让 phpMyAdmin 跳过读取 information_schema 和 mysql 系统库元数据,直接导致用户表不可见。删掉或设为 false 即可恢复。
权限不足时看到空表格或拒绝访问提示
即使能打开 mysql.user 表,也可能只看到空行或提示 The selected table is empty——这往往不是没用户,而是当前登录账号没被授予对 mysql.user 的 SELECT 权限。
MySQL 8.0 默认只允许 root 查系统表,其他账号需显式授权:
- 用 root 执行:
GRANT SELECT ON mysql.user TO 'admin'@'localhost'; FLUSH PRIVILEGES; - 注意:不能只给
USAGE,也不能只给数据库级权限,必须精确到mysql.user表 - phpMyAdmin 不会自动提示“缺权限”,只会静默返回空结果,这是最容易被忽略的环节
用户管理这件事,从来就不是点一下选项卡就能搞定的。它卡在权限链、认证插件、配置开关三重关卡上,少一个条件,界面就消失。别怪界面藏得深,先确认你手里的钥匙是不是真能开那扇门。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











