环境
阿里云 CentOS7.5
MySQL:8.0
部署:Docker
客户端:Navicate Premium12
解决办法
- 查看默认密码的加密方式
show variables like 'default_authentication_plugin';

2、查看登录用户的加密方式
select host,user,plugin from mysql.user;

注意:红色圈起来的plugin,是我修改之后的。
3、修改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
# 注意:下面的'password' ,是你连接数据库的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
- 刷新配置:
FLUSH PRIVILEGES;
注意:这时候你可能还是连不上,还是连不上,还是连不上

原因就是:没有修改完全。注意两个标记。再执行一遍命令。将localhost换成%
================================================================
修改完成,连接OK

解决MySQL加密方式冲突
本文详细介绍了在阿里云CentOS7.5环境下,使用Docker部署MySQL 8.0时遇到的加密方式不匹配问题及解决方案。通过调整root用户的认证插件为mysql_native_password,并更新配置,最终实现Navicate Premium 12客户端成功连接。
818

被折叠的 条评论
为什么被折叠?



