该错误的原因是在MySQL8之前版本中加密规则是mysql_native_password,而在MySQL8以后的加密规则为caching_sha2_password。

解决此问题有两种方法,一种是更新navicat驱动来解决此问题,一种是将mysql用户登录的加密规则修改为mysql_native_password。此处采用第二种方式。
具体做法:
1.使用cmd的方式连接到MySQL数据库

2.设置密码永不过期
alter user 'root'@'localhost' identified by '密码' password expire never;
3.设置加密规则为mysql_native_password
alter user 'root'@'localhost' identified with mysql_native_password by '密码';
4.重启Navicat 在进行连接测试

5.如果以上方法试了还不行 就继续执行下面的两条命令 操作同上
alter user 'root'@'%' identified by '密码' password expire never;
alter user 'root'@'%' identified with mysql_native_password by'密码';
6. 如果都试了还不行 那在看看其他博主发的贴吧 希望可以帮到你文章来源:https://www.toymoban.com/news/detail-513478.html
尾注:每一行代码 都是改变世界的能量 愿你每一次的运行 都是发自内心的快乐文章来源地址https://www.toymoban.com/news/detail-513478.html
到了这里,关于关于mysql8.0及以上版本连接navicat时候报错(密码加密方式需要修改)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!