一、错误原因
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