很久没有用过Navicat了,今天突然需要用到,但是在连接的时候出现下面的错误
最后发现是身份认证的方式变了,原来的认证方式是caching_sha2_password,而原来是mysql_native_password,但是我的Navicat客户端找不到新的身份验证插件(caching_sha2_password),所以解决方法就是将mysql用户使用的 登录密码加密规则还原成mysql_native_password,即可登陆成功,具体操作如下:
1.打开MySQL Command Line Client
2.登录数据库
use mysql
从数据库的user表中查询 mysql 用户原来使用的身份验证插件
select user,host,plugin,authentication_string from user;
将用户使用的身份验证插件 替换为之前版本使用的 mysql_native_password ,修改成功后再次使用客户端工具 Navicat,如无其它意外 , 应该是可以正常连接l了。
alter user 'user'@'%' identified with mysql_native_password by '123456';
这里的user是你要修改的用户名,123456是修改之后你用来连接的密码。
如果要修改的时root用户,那么使用的是下面这个代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新设置的密码';