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