用docker运行mysql后远程连接mysql出现sqlyog:2058的错误。
意思是客户端不支持caching_sha2_password的加密方式。
解决方案:
1.进入mysql容器
docker exec -it mysql容器名或ID /bin/bash
2.登录mysql
mysql -uroot -p
输入密码便登录成功
3.查看一下当前root用户的加密方式
select user,host,plugin from mysql.user where user = 'root';
你会发现此时root用户的加密方式是 caching_sha2_password
4.更改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
5.更新root用户密码(句尾 root 可以更改为自己想要的密码)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
6.刷新权限配置
flush privileges
再重新连接就成功了。。。