phpMyAdmin管理MariaDB 10.11用户需特别注意认证插件兼容性:root等unix_socket用户默认不显示于“用户账户”页;添加用户时须手动将身份验证插件设为mysql_native_password;修改现有用户需用ALTER USER指定插件及密码,否则无法被phpMyAdmin识别和管理。
phpMyAdmin 管理 MariaDB 10.11 用户账户,和管理 MySQL 用户基本一致,但有几个关键点必须注意:MariaDB 10.11 默认启用 unix_socket 认证插件(尤其在 Debian/Ubuntu 系统上),而 phpMyAdmin 的“用户账户”界面默认只显示使用 mysql_native_password 或 auth_socket(旧名)插件的用户。如果你用的是 root 或其他系统账户,很可能根本看不到它——不是没权限,是插件类型不被界面识别。
为什么“用户账户”页面看不到 MariaDB 10.11 的 root 用户?
这是因为 mariadb 10.11 在新安装时默认为 root@localhost 分配了 unix_socket 插件(而非传统密码认证),而 phpmyadmin 的用户列表仅从 mysql.user 表中读取,且对 plugin 字段做过滤,unix_socket 类型用户被跳过显示。
- 执行
SELECT User,Host,plugin FROM mysql.user;可确认 root 是否用了unix_socket -
phpMyAdmin不会报错,也不会提示“该用户不可见”,只是安静地不列出 - 这不是 bug,是设计行为:界面只展示能通过 Web 登录的用户(即支持密码认证的)
如何添加一个能被 phpMyAdmin 正确识别的 MariaDB 10.11 用户?
必须显式指定认证插件为 mysql_native_password,否则新建用户也会被 phpMyAdmin 忽略。
- 不要直接在“用户账户 → 添加用户账户”里填完就提交——默认会用服务器当前 default_authentication_plugin(MariaDB 10.11 默认是
unix_socket) - 点击“添加用户账户”后,向下滚动到“身份验证选项”区域
- 把“身份验证插件”下拉菜单手动改成
mysql_native_password - 务必填写密码(空密码 +
mysql_native_password是允许的,但不推荐) - 权限部分按需勾选,避免勾“全局权限 → 所有权限”,尤其是
DROP、GRANT OPTION、SHUTDOWN
修改已有 MariaDB 用户的 plugin 字段以适配 phpMyAdmin
如果已有用户(比如刚从旧版升级来的)用了 unix_socket 或 auth_socket,想让它出现在 phpMyAdmin 用户列表里并可编辑权限,得手动更新 mysql.user 表:
ALTER USER 'username'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('your-strong-password');
执行后,刷新 phpMyAdmin 的“用户账户”页,该用户就会出现。注意:
- 不能只改
plugin字段而不重设密码;MariaDB 要求 plugin 和 password hash 同步生效 - 执行前确保你当前登录的账号有
UPDATE权限在mysql库,且能绕过unix_socket限制(通常只有 root 本地 socket 登录才具备) - 改完后建议执行
FLUSH PRIVILEGES;,虽然 ALTER USER 通常自动刷新
phpMyAdmin 5.2.3+ 对 MariaDB 10.11 的兼容性注意事项
phpMyAdmin 5.2.3 及以上版本已适配 MariaDB 10.11 的系统表结构变化(如 mysql.global_priv 引入),但仍有两点容易出问题:
立即学习“PHP免费学习笔记(深入)”;
- 如果 phpMyAdmin 配置中
$cfg['Servers'][$i]['auth_type']设为config且硬编码了root密码,而 MariaDB 实际用的是unix_socket,会导致登录失败且错误信息模糊(常见报错:#1045 Cannot log in to the MySQL server) - “用户账户”页编辑权限后点击“执行”,phpMyAdmin 生成的 SQL 语句在 MariaDB 10.11 中仍有效,但某些细粒度权限(如
SYSTEM_VARIABLES_ADMIN)不会出现在界面勾选项里——它们得手写 SQL 授予 - 导出用户权限时,phpMyAdmin 默认不包含
plugin和password_last_changed字段,还原时可能丢失认证方式
phpMyAdmin 的图形界面只是个前端封装,真正起作用的是底层 SQL 和插件机制。看到用户“消失”,第一反应不该是重装或换工具,而是查 plugin 字段和认证方式。



















