出现这个原因是mysql8之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password

解决方法:

解决问题方法有两种,一种是升级navicat驱动;一种是把mysql用户登录密码加密规则还原成mysql_native_password。

选择第二种操作

1.cmd,以管理员身份运行

2.进入mysql命令 :mysql -uroot -p1234@qwer   (u后面是你的mysql用户名,p后面是你的密码)

3.执行后,输入如下后续各命令:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234@qwer'; #修改加密规则
 
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234@qwer' PASSWORD EXPIRE NEVER; #更新一下用户的密码
 
FLUSH PRIVILEGES; #刷新权限
4.再使用Navicate界面测试本地连接,连接正常
 
之后连接外部数据库,在Navicate界面将主机名改为外部连接数据库服务器的IP地址,也可以正常