如何查询MySQL 8.0用户表的plugin字段以识别用户加密方法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1005个文字,预计阅读时间需要5分钟。
MySQL 8.0 中用户密码的加密方式完全由 plugin 字段决定,而非依赖猜测、版本号或读取配置变量。只要能连接到 MySQL(且拥有权限),执行一条 SELECT 语句即可获取真实值。
-
plugin是唯一权威字段:它直接对应认证插件名,比如caching_sha2_password或mysql_native_password - 不要依赖
show variables like '%password%':这些变量只反映服务端是否启用了某类插件(如 RSA 密钥路径),不表示某个用户实际用的是哪种 - 必须加
FROM mysql.user:该表在mysql系统库下,没USE mysql也得写全限定名,否则可能报错或查到空结果
执行 SELECT user, host, plugin FROM mysql.user 查所有用户
这条语句返回每个用户的认证方式,适合快速扫一遍有没有混用插件的情况——比如 root 是 caching_sha2_password,但监控账号却是 mysql_native_password,就容易出连接问题。
本文共计1005个文字,预计阅读时间需要5分钟。
MySQL 8.0 中用户密码的加密方式完全由 plugin 字段决定,而非依赖猜测、版本号或读取配置变量。只要能连接到 MySQL(且拥有权限),执行一条 SELECT 语句即可获取真实值。
-
plugin是唯一权威字段:它直接对应认证插件名,比如caching_sha2_password或mysql_native_password - 不要依赖
show variables like '%password%':这些变量只反映服务端是否启用了某类插件(如 RSA 密钥路径),不表示某个用户实际用的是哪种 - 必须加
FROM mysql.user:该表在mysql系统库下,没USE mysql也得写全限定名,否则可能报错或查到空结果
执行 SELECT user, host, plugin FROM mysql.user 查所有用户
这条语句返回每个用户的认证方式,适合快速扫一遍有没有混用插件的情况——比如 root 是 caching_sha2_password,但监控账号却是 mysql_native_password,就容易出连接问题。

