Sqlyog 无法连接 8 版本的mysql caching_sha2_password could not be loaded

Sqlyog 无法连接 8 版本的mysql caching_sha2_password could not be loaded

1.问题背景

近期系统对Mysql 版本进行了升级,由原来的 5.7升至 8版本,在现场使用Sqlyog 作为数据库连接软件时,发现连接失败。
Sqlyog 无法连接 8 版本的mysql caching_sha2_password could not be loaded_第1张图片

2.问题现象

使用Sqlyog配置完连接信息后点击连接,报错:
Sqlyog 无法连接 8 版本的mysql caching_sha2_password could not be loaded_第2张图片

3.问题原因

MySQL 8.0中修改了默认的密码加密方式,使用了caching_sha2_password加密方式,对于Sqlyog老版本不支持该方式,从13.0开始支持8.0
navicat 试了15是可以支持的 但navicat 过于笨重,不适宜远程解决问题

4.解决方案

4.1 使用root登录

进入mysql容器

 docker exec -it 611a5a50b72f /bin/bash 

611a5a50b72f为mysql 容器ID

 mysql -u root -p

输入root用户密码后进入到mysql程序
Sqlyog 无法连接 8 版本的mysql caching_sha2_password could not be loaded_第3张图片

4.2 切换数据库并更改认证

use mysql;
alter user 'root'@'%' IDENTIFIED WITH mysql_native_password by 'password';
flush privileges;

password 为root用户的认证密码

执行完成后,exit退出mysql程序及容器

4.3 使用sqlyog登录验证

验证更改已生效,登录成功

你可能感兴趣的:(mysql,数据库,sqlyog,mysql8)