mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。
解决问题方法有两种:
- 方法1.升级navicat驱动;(我官网下载目前最新的Navicat 12 for MySQL是可以直接连上的)
- 方法2.把mysql用户登录密码加密规则还原成mysql_native_password.
这里采用方法2解决,具体操作步骤如下: 用如下命令查看用户信息,看plugin
select host,user,plugin,authentication_string from mysql.user;
用如下命令修改密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword';
这样回到客户端就可以成功连接了(我没有用FLUSH PRIVILEGES命令刷新权限也可以)