原因分析:
其实是mysql8.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就可以使用
SQLyog连接MySQL8 异常2059-Authentication plugin ‘cachi
原文地址:https://blog.51cto.com/14861463/2510958