Navicat ,SQLyog连接MySQL8 异常2059-Authentication plugin 'caching_sha2_password' cannot be loaded解决方案

安装使用mysql-installer-community-8.0.15.0.msi版本的MySQL,使用Navicat连接提示如下错误。

Navicat ,SQLyog连接MySQL8 异常2059-Authentication plugin 'caching_sha2_password' cannot be loaded解决方案_第1张图片

发现是数据库更新到8.0的版本后,使用DataGrip和workbench都可以链接数据库,但是使用Navicat,SQLyog连接不上数据库,提示上面错误,这就比较炸毛了...,正好看到https://blog.csdn.net/weixin_40845165/article/details/84076691博主遇到这个问题,按照博主的文章一次性解决,很棒,转过来!

原因分析
其实是MySQL 8.0版更换了新的身份验证是(caching_sha2_password),之前身份验证是(mysql_native_password)。Navicat和SQLyog客户端软件其实是不支持新的身份验证,也就是说新的身份验证找不到(caching_sha2_password),既然知道了是这个问题,那么我们就把登录密码加密规则改回(mysql_native_password),就好啦~~~~~~


操作流程:

  打开WindowsDOS命令行窗口就是命令提示符,以管理员身份运行【PS:使用的Windows命令提示符,你要把自己的MySQL的环境变量配置好】,当然你要是说我不用的Windows的命令行客户端,那也是没有任何问题的你可以使用MySQL的自带的命令行客户端!

  1,登录MySQL,使用命令

 mysql -u root -p或mysql -u root -ppassword【ps:-ppassword后面的密码是你的root密码】

 2,修改加密规则

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

 3,更新用户密码     

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

4,刷新权限

FLUSH PRIVILEGES; 

5,重置密码

alter user 'root'@'localhost' identified by '你的密码';

博主尝试第二遍把密码改回原来的密码的时候,没有执行刷新权限命令也是可以的,如上图,接下来Navicat,SQLyog就可以使用。

你可能感兴趣的:(数据库-Oracle,MySQL)