今天使用Navicat连接mysql的时候报了2059的错误,为了解决这个看似不难的问题,我也是试了不少方法,在这里给大家分享下我的经验。
首先出现2059这个错误的原因是因为在mysql8之前的版本中加密规则为mysql_native_password。但是在mysql8以后的加密规则为caching_sha2_password。通过在网络上查找各种解决办法,我们可以将mysql用户登录的加密规则进行修改。修改为mysql_native_password。
具体步骤:
Win+R 打开 cmd命令行(Windows为例,Mac类似);
- 输入
mysql -uroot -p
登陆mysql,如果提示commod not found,那我们需要先将mysql加入系统环境变量。(如果提示 不是内部或外部命令,那么我们需要加入系统环境变量 具体请参照:Mysql系统环境变量配置)
如果嫌麻烦,那么我们也可以先不加入,直接在开始界面下搜索mysql,打开即可,如图。 - 登录成功以后使用
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER
来修改加密规则。 - 加密规则修改完成后我们可以通过
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'
更新一下我们用户的密码。
友情提示:一定要牢记更改后的密码,不然忘了会很麻烦。
经过了这三步的操作之后,我们的MySql密码就变成了123456啦。当然密码部分也可以设置成其他的,不一定非要是123456。大功告成~ ^_^,好了大家赶快去试试连接自己的NaviCat吧!