【数据库】-【MySQL数据库8.0.x安装的时候,与Navicat链接不上】-【Navicat 1251错误】

嗯……安装一个数据库,过程不是很顺利啊;

其实主要还是因为MySQL版本的更新带来的问题;

比较矛盾的是,cmd安装最新版的MySQL需要用最新的更改口令的方法,

而Navicat(或者因为我下的版本比较老的原因),支持的是老方法,也就是我们SET的方法;

解决措施是来自一个大佬的博客:https://blog.****.net/qq_36068954/article/details/80175755

 

 

重装了电脑,安装了最新版的MySQL数据库(例如最新的MySQL8.0),结果Navicat连接Mysql报1251错误,sqlyog报2058错误,但是window命令进入mysql,账号密码都是正确的。

【数据库】-【MySQL数据库8.0.x安装的时候,与Navicat链接不上】-【Navicat 1251错误】

在网上查的是,出现这个原因是MySQL 8 之前的版本中加密规则是mysql_native_password,而在MySQL 8 之后,加密规则是caching_sha2_password, 解决问题方法有两种:

1 是升级navicat驱动,

2 是把mysql用户登录密码加密规则还原成mysql_native_password. 

我常说的是第二种方式(是的,我这么懒的人,也是使用第二种方法) 

(温馨提示,要先使用mysql -u root -p 登陆数据库 ho~)

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则 
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码 
FLUSH PRIVILEGES; #刷新权限
 

【数据库】-【MySQL数据库8.0.x安装的时候,与Navicat链接不上】-【Navicat 1251错误】

再去Navicat尝试连接一下,会惊喜的发现,问题解决啦(当当当)

【数据库】-【MySQL数据库8.0.x安装的时候,与Navicat链接不上】-【Navicat 1251错误】