admin管理员组文章数量:1794759
全网详细解决Client does not support authentication protocol requested by server;consider upgrading Mysql c
文章目录
- 1. 复现错误
- 2. 分析错误
- 3. 解决错误
今天使用Navicat准备连接mysql,如下图所示:
点击连接测试按钮时,却报出如下错误:
即1251- Client does not support authentication protocol requested by server;consider upgrading Mysql client
2. 分析错误正赶上最近ChatGPT比较火,借助它来分析我的问题,如下图所示:
ChatGPT说我版本太低,建议我升级客户端的版本,升级客户端的版本不太可能。因为,完全卸载mysql还是比较麻烦的。
因而,ChatGPT没有解决我的问题,我只能通过如下的方式解决该问题了。
注意以下三点:
host为%表示不限制ip。
localhost表示本机使用
plugin非mysql_native_password,则需要修改密码
mysql8之前的版本中,加密规则是mysql_native_password。
而在mysql8之后,加密规则是caching_sha2_password。
解决该问题的方法,有以下两种:
-
方法1:升级navicat驱动
-
方法2:把mysql用户登录密码加密规则还原成mysql_native_password。
升级navicat驱动很麻烦,因而,我采用方法2解决,具体操作步骤如下。
3. 解决错误在命令行输入如下命令,修改密码:
-- 更新user为root,host为% 的密码为123456 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; -- 更新user为root,host为localhost 的密码为123456 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';或者
-- 修改加密规则,这行我没有写,不过貌似也可以 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; -- 更新一下用户的密码 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; -- 刷新权限 FLUSH PRIVILEGES;再次在Navicat中连接mysql,连接成功,如下图所示:
本文标签: 详细supportauthenticationprotocolClient
版权声明:本文标题:全网详细解决Client does not support authentication protocol requested by server;consider upgrading Mysql c 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1687003263a127579.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论