远程连接MySQL错误“plugin caching_sha2_password could not be loaded”的解决办法

远程连接MySQL错误plugin caching_sha2_password could not be loaded”的解决办法 问题描述:

今天在阿里云租了一个服务器,当我用sqlyog远程连接mysql时,报了plugin caching_sha2_password could not be loaded错,即无法加载插件缓存sha2密码,但是我在cmd窗口就可以访问,在网上找了很多解决方法都没有解决,最后找到了原因。在MySQL 8.0中,caching_sha2_password是默认的身份验证插件,而不是mysql_native_password,服务器可以正常连接,本地cmd窗口 mysql -hxx.xx.xx.xx -P3306 -uroot -pRoot123. 可以正常连接,所以是我的sqlyog版本太旧了。

远程连接MySQL错误“plugin caching_sha2_password could not be loaded”的解决办法

解决办法:

网上有两种解决办法,一种就是升级sqlyog,一种是修改mysql默认身份验证插件。

1. 升级SQLyog

第一种就不用说了,SQLyog-13.1.6-0.x64是默认支持mysql8.0以上身份验证,把低版本的sqlyog升级到13.1.6就可以解决。

2. 修改身份验证插件

首先登录mysql

mysql -hlocalhost -uroot -pRoot123.

这里跟很多博主都是一样的操作,但是这方法只能解决本地的连接问题,远程连接还是有问题。下面的123456是自己的密码

# 修改加密规则(非必须) ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root123.' PASSWORD EXPIRE NEVER; # 更新用户的密码 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Root123.'; # 刷新权限 FLUSH PRIVILEGES; # 重置密码(==非必须==) ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root123.';

如果你需要使用远程登录,将localhost 改为%就可以解决远程连接的问题。

远程连接MySQL错误“plugin caching_sha2_password could not be loaded”的解决办法

# 修改加密规则(非必须) ALTER USER 'root'@'%' IDENTIFIED BY 'Root123.' PASSWORD EXPIRE NEVER; # 更新用户的密码 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Root123.'; # 刷新权限 FLUSH PRIVILEGES; # 重置密码(==非必须==) ALTER USER 'root'@'%' IDENTIFIED BY 'Root123.';

远程连接MySQL错误“plugin caching_sha2_password could not be loaded”的解决办法

至此本地和远程root用户密码策略修改完毕,如果想修改其他的用户,仿照上面命令设置即可。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpxsf.html