📌  相关文章
📜  ER_NOT_SUPPORTED_AUTH_MODE:客户端不支持服务器请求的认证协议;考虑升级 MySQL 客户端 vs 代码 - SQL (1)

📅  最后修改于: 2023-12-03 14:40:59.889000             🧑  作者: Mango

ER_NOT_SUPPORTED_AUTH_MODE: 客户端不支持服务器请求的认证协议;考虑升级 MySQL 客户端

介绍

在使用 MySQL 客户端连接服务器时,可能会遇到以下错误提示:

ERROR 1251 (08004): Client does not support authentication protocol requested by server; consider upgrading MySQL client

这是因为 MySQL 8.0 之后默认采用了更加安全的认证协议,而低版本的 MySQL 客户端可能不支持该协议。

解决方法
升级 MySQL 客户端

最简单的解决方法就是升级 MySQL 客户端。可以从官网下载最新版本的 MySQL 客户端,并按官方文档安装和配置即可。

修改 MySQL 服务器的认证协议

如果无法升级 MySQL 客户端,也可以尝试修改 MySQL 服务器的认证协议,以支持较老版本的 MySQL 客户端。

具体操作如下:

  1. 登录 MySQL 服务器

  2. 执行以下命令,修改默认认证插件为 mysql_native_password:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
    

    其中,root 和 password 分别为 MySQL 服务器的用户名和密码,可以根据实际情况修改。

  3. 重启 MySQL 服务器,使修改生效。

总结

在使用较老版本的 MySQL 客户端连接 MySQL 8.0 之后的版本时,可能会遇到 ER_NOT_SUPPORTED_AUTH_MODE 错误。为了解决这个问题,可以选择升级 MySQL 客户端或修改 MySQL 服务器的认证协议。