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命令刷新权限也可以)

个人网站

文章来源于互联网:Navicat连接远程数据库报1251的错误

发表评论