一、错误信息
我们在使用Navicat来连接MySQL数据库的时候,可能会遇到1251的错误警告,如下图所示
出现这个问题的原因是MySQL8.0版本的加密方式和MySQL5.0的不一样,所以使用Navicat连接MySQL会报错。不过不用着急,不是什么大问题,下面就会给出解决办法。
二、解决办法
1. 打开cmd命令窗口,输入命令 mysql -uroot -p
打开MySQL数据库,然后输入密码进行登录。
2. 更改加密方式,输入命令 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
3. 更改密码,我这里将密码更改为 123456 ,所以输入命令 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
如果你要更改为其他密码,将命令中的123456替换为你的密码即可。
4. 输入命令 FLUSH PRIVILEGES;
进行刷新。
这个时候便可以使用Navicat连接我们的数据库,如果这个时候报出错误:ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%' :
,那么我们需要先选择数据库,查看一下数据库中的数据,然后在执行上述的四步。即可以分别输入以下两条命令:
use mysql;
select user,host from user;