Docker 安装 mysql8.x 连接问题时 sqlyog 报 2058 或 Navicat 1257 错误

一、错误原因

sqlyog 连接 mysql 8.x 版本报 2058 错误

尝试用 Navicat Premium 报了另一个错:1257

其实这两个错误都是 mysql8 之后,加密规则改成 caching_sha2_password 而导致密码无法正常解密造成的

二、错误解决

1、确保防火墙已经关闭

2、进入 mysql 环境

docker exec -it ffcf0da0912d /bin/bash

3、通过 mysql -u root -p 输入密码之后进入 mysql 命令行模式

mysql -u root -p

4、修改加密规则(这里的 123456 就是你新设置的密码)

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

FLUSH PRIVILEGES; 

5、再次尝试用客户端连接

参考:https://www.cnblogs.com/zyf-yxm/p/13809584.html

原文地址:https://www.cnblogs.com/xiaomaomao/p/14055265.html