原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。
解决问题方法:
①一种是升级navicat驱动,
②一种是把mysql用户登录密码加密规则还原成mysql_native_password(本文的解决方法)
如何操作:
# 首先通过密码进入mysql
mysql -u root -p
# 进入mysql
use mysql
# 查看一下用户的信息,
# 本地的一般为 root localhost
# 服务器上一般为 root %
# 结果见下图
select user,host,plugin,authentication_string from user;
# 修改加密规则,
# 注意root和localhost 需要替换为对应的表中的数据。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的mysql密码';
#刷新权限
FLUSH PRIVILEGES;
执行完之后便能使用navicat连接mysql。