SQLyog连接MySQL数据库报错:错误号码2058 Plugin caching sha2 password could not be loaded:xxx
在使用SQLyog第三方数据库可视化软件连接MySQL8.0的时候,出现了以下报错信息。
·
在使用SQLyog第三方数据库可视化软件连接MySQL8.0的时候,出现了以下报错信息。

一、情景复现
docker run --name mysql-server -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_TCP_ADDRESS=0.0.0.0 -p 3306:3306 -d mysql:8.0
使用docker快速启动一个mysql8.0版本的数据库。通过SQLyog进行远程数据库连接即可复现。
如果你的SQLyog版本比较新,可能不会存在该问题。
二、解决办法
首先,通过命令行工具登录到MySQL

然后指定使用mysql_native_password插件来验证用户的密码。
1、本地连接方法
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
2、远程连接方法
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
注意:123456是你的数据库密码。

然后就不会报错了。
三、原因分析
MySQL 8.0之前的版本默认使用mysql_native_password作为加密规则,而MySQL 8.0及之后版本则默认使用caching_sha2_password。除了上述解决办法以外,你还可以通过更新SQLyog至最新版本,也可以解决该问题。
更多推荐




所有评论(0)