MySql连接出现1251Client does not support authentication protocol requested by server解决方法 - Go语言中文社区

MySql连接出现1251Client does not support authentication protocol requested by server解决方法


出现如下问题,使用navicat链接数据库的时候

出现1251Client does not support authentication protocol requested by server
在这里插入图片描述
主要原因是因为mysql的版本更新,越新的版本,身份验证机制越加严格,一开始的验证插件为mysql_native_password 更改成了caching_sha2_password


解决方法如下:

  1. 进入mysql内部数据库中mysql -uroot -p;

在这里插入图片描述

  1. 查询其用户数据库中的值
select host,user,plugin,authentication_string from mysql.user;

在这里插入图片描述

  1. 更改其root的密码权限
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345678';

或者使用

alter user 'root'@'%' identified with mysql_native_password by '12345678';

具体根据哪个命令使用,通过用户数据库中的信息表
如果没有这个数据非法查询会出现如下内容

ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%'

在这里插入图片描述
所以选择好对应的数据查询信息

  1. 刷新权限即可flush privileges;

在这里插入图片描述

查询其验证即可成功
在这里插入图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_47872288/article/details/120120391
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-12-11 12:14:41
  • 阅读 ( 942 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢