Navicat连接MySql8+出现2059错误解决办法

今天使用Navicat连接mysql的时候报了2059的错误,为了解决这个看似不难的问题,我也是试了不少方法,在这里给大家分享下我的经验。

首先出现2059这个错误的原因是因为在mysql8之前的版本中加密规则为mysql_native_password。但是在mysql8以后的加密规则为caching_sha2_password。通过在网络上查找各种解决办法,我们可以将mysql用户登录的加密规则进行修改。修改为mysql_native_password。

具体步骤:

Win+R 打开 cmd命令行(Windows为例,Mac类似);

  1. 输入mysql -uroot -p登陆mysql,如果提示commod not found,那我们需要先将mysql加入系统环境变量。(如果提示 不是内部或外部命令,那么我们需要加入系统环境变量 具体请参照:Mysql系统环境变量配置)
    如果嫌麻烦,那么我们也可以先不加入,直接在开始界面下搜索mysql,打开即可,如图。这里写图片描述
  2. 登录成功以后使用ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER来修改加密规则。
  3. 加密规则修改完成后我们可以通过ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'更新一下我们用户的密码。
    友情提示:一定要牢记更改后的密码,不然忘了会很麻烦。
    经过了这三步的操作之后,我们的MySql密码就变成了123456啦。当然密码部分也可以设置成其他的,不一定非要是123456。大功告成~ ^_^,好了大家赶快去试试连接自己的NaviCat吧!
    这里写图片描述