该错误的原因是在MySQL8之前版本中加密规则是mysql_native_password,而在MySQL8以后的加密规则为caching_sha2_password。
解决此问题有两种方法,一种是更新navicat驱动来解决此问题,一种是将mysql用户登录的加密规则修改为mysql_native_password。此处采用第二种方式。
具体做法:
- 使用cmd的方式连接到MySQL数据库
- 设置密码永不过期alter user 'root'@'localhost' identified by '密码' password expire never;alter user 'root'@'localhost' identified by 'root' password expire never;
- 设置加密规则为mysql_native_passwordalter user 'root'@'localhost' identified with mysql_native_password by '密码';alter user 'root'@'localhost' identified with mysql_native_password by 'root';
- 重新点击Navicat的连接测试发现连接成功了!
版权归原作者 start.run 所有, 如有侵权,请联系我们删除。