📌  相关文章
📜  不支持身份验证插件'caching_sha2_password' (1)

📅  最后修改于: 2023-12-03 15:06:12.901000             🧑  作者: Mango

不支持身份验证插件caching_sha2_password

MySQL Server 8.0 默认采用了 caching_sha2_password 身份验证插件,该插件提供更强的加密保护,然而不少老版本客户端不支持该插件,导致连接 MySQL 时出现不支持身份验证插件错误。

错误信息

当使用不支持 caching_sha2_password 身份验证插件的客户端连接 MySQL 时,会得到如下错误信息:

ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: ...
解决方法
  1. 升级客户端

升级不支持 caching_sha2_password 的客户端到支持该插件的版本,如 MySQL 8.0,或者使用 MariaDB。 若无法升级,可使用 MySQL 官方提供的 mysql_native_password 插件,该插件的加密强度较弱,但可以在老版本客户端中使用。

  1. 修改 MySQL Server 配置

在 MySQL Server 中,可以配置使用 mysql_native_password 插件进行身份验证,而不使用 caching_sha2_password 插件。

my.cnf 配置文件为例,在 [mysqld] 段添加如下配置:

[mysqld]
default_authentication_plugin=mysql_native_password

重启 MySQL Server 使配置生效。

结论

使用 caching_sha2_password 身份验证插件可以提供更强的密码保护,但不支持该插件的情况下,可以升级客户端或修改 MySQL Server 配置使用 mysql_native_password 插件进行身份验证。具体操作依赖不同的使用场景。