MySql:Navicat 连接不上虚拟机上的mysql容器

1.问题显示

通过windows主机navicat连接虚拟的mysql时报如下错误。

2.问题原因

由于navicat版本的问题,出现连接失败的原因:mysql8 之前的版本中加密规则是mysql_native_password,而mysql8之后,加密规则是caching_sha2_password

两种解决办法:

1.升级navicat,由于navicat是收费的,个人感觉升级会比较麻烦点。

2.把用户密码登录的加密规则还原成mysql_native_password这种加密方式。

3.修改加密方式

登录mysql

#登录mysql
mysql -u root -p"你的密码"

 

查看远程配置

#查看能否远程
select user,host,plugin from user where user='root';

修改远程配置

#修改所有主机访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; //任何远程主机都可以访问数据库

#修改加密机制
alter user 'root'@'%' identified with mysql_native_password by 'password';//password是mysql密码。

#刷新配置
flush privileges;

4. 测试连接

 

文章转载至:https://blog.csdn.net/yubin1285570923/article/details/83352491

原文地址:https://www.cnblogs.com/nhdlb/p/13846034.html