Navicat连接MySQL报错1251

新装了个MySQL8.0.22版本,使用Navicat连接时报1251错误,如下图:

Navicat连接MySQL报错1251_第1张图片


原因:

MySQL8.0后的版本加密规则是“caching_sha2_password”,而 MySQL8.0之前的版本加密规则是“mysql_native_password”。

解决思路:

更改加密规则,将MySQL用户登录密码加密规则还原成“mysql_native_password”。

解决方法:

1. 以管理员身份运行 cmd,进入MySQL的bin目录下;

2.输入命令“mysql -u root -p”后输入密码进入mysql,如下图:

Navicat连接MySQL报错1251_第2张图片


3.先修改加密规则,指令如为:【ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;】如下图:


4.更改密码,因为修改了加密规则,所以需要重新设置密码,指令为:【ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新的密码';】如下图:


5.最后刷新下数据库,指令为:【FLUSH PRIVILEGES;】,如下图:


再使用Navicat可以成功连接了,奈斯!!

注意:

1.指令中‘root’为自己定义的用户名,如果没有定义,则默认是‘root’。

2.localhost为MySQL服务的IP,需根据MySQL实际的安装位置填写。

你可能感兴趣的:(mysql,mysql,navicat,数据库)