原文链接:https://blog.csdn.net/qq_41378597/article/details/82154760
今天使用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系统环境变量配置)
登录成功以后使用ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER来修改加密规则。
加密规则修改完成后我们可以通过ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'更新一下我们用户的密码。