网上查询过后,发现这个错误出现的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password。
解决此问题有两种方法,一种是更新navicat驱动来解决此问题,一种是将mysql用户登录的加密规则修改为mysql_native_password。;根据网上大部分建议采取了第二种方式:
1.打开doc窗口win+d输入cmd打开 进入mysql sever安装bin目录输入 mysql -u root -p 输入root用户的密码
2.选择数据库 输入 use mysql
3.查看加密的规则 输入 select Host,User,plugin from mysql.user;
加密方式是新的加密方式 4.更改回原来的加密方式 输入 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY'root用户的密码'; 刷新 FLUSH PRIVILEGES;
5.再次查看加密方式 select Host,User,plugin from mysql.user;
6.现在再用navicat去连接数据库就ok了