navicat 连接 mysql 出现1251Client does not support authentication protocol requested by server

本文转自 :https://blog.csdn.net/Macbook_Yang/article/details/80518372

前期修改root密码问题(首次安装的root密码是空,直接Enter就行):

cmd用管理员身份进入,然后输入

mysqladmin -u root -p password newpassword 

需要注意的是无需单引号(之前在网上找的是有单引号结果一直无法成功),newpassword就是新的密码,如下图:

1.启动mysql并登入:

2.登入成功后mysql > 样式中输入 

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;

末尾的分号不能少;123456就是Navicat中root的链接密码,网上大部分这里‘root’@’localhost’写的是‘root’@’%’(又导致我无法连接 成功了N多时间。。),需要特别注意也是我走坑最多的地方,一定要注意标点符号;一定要注意标点符号;一定要注意标点符号;单引号一定是英文的(有些地方复制下来就是中文的)

成功后最后记得输入 

FLUSH PRIVILEGES;

更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。

此时就可以成功链接Navicat了。


自己的操作:问题确实解决了

原文地址:https://www.cnblogs.com/wsnan/p/11357646.html