嗯……安装一个数据库,过程不是很顺利啊;
其实主要还是因为MySQL版本的更新带来的问题;
比较矛盾的是,cmd安装最新版的MySQL需要用最新的更改口令的方法,
而Navicat(或者因为我下的版本比较老的原因),支持的是老方法,也就是我们SET的方法;
解决措施是来自一个大佬的博客:https://blog.csdn.net/qq_36068954/article/details/80175755
重装了电脑,安装了最新版的MySQL数据库(例如最新的MySQL8.0),结果Navicat连接Mysql报1251错误,sqlyog报2058错误,但是window命令进入mysql,账号密码都是正确的。
在网上查的是,出现这个原因是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; #刷新权限
再去Navicat尝试连接一下,会惊喜的发现,问题解决啦(当当当)