Navicat 连接mysql8.0出现2059错误

1、出错的原因

Navicat 连接mysql8.0出现2059错误

mysql8之前的版本的用户登录密码的加密规则是mysql_native_password,而mysql8之后的加密规则是caching_sha2_password。
出现2059错误是因为你的navicat不支持mysql的用户密码加密规则,所以这里可以把加密规则还原为mysql_native_password。

2、解决方法(如图)

Navicat 连接mysql8.0出现2059错误

3、具体操作步骤

1、cmd窗口,登录mysql

mysql -uroot -proot123

(root123换成你对应的登录密码)

2、切换到mysql数据库

use mysql

3、查看root用户的密码加密规则

select user,plugin from user where user='root';

可以看到加密规则是caching_sha2_password
4、将加密规则更改为mysql_native_password

alter user'root'@'localhost' identified with mysql_native_password by 'root123';

(root123换成你的登录密码)
5、刷新权限

flush privileges;

6、重新查看root用户的密码加密规则

select user,plugin from user where user='root';

可以看到加密规则已经更改为mysql_native_password
7、打开navicat再连接下,连接成功了
Navicat 连接mysql8.0出现2059错误