# 问题由来
在今天安装了MySQL之后,像往常一样,打开Navicat打算连接数据库,却意外报错
啊啊啊啊,怎么就老是报错啊,很烦,
然后我就又开始了趴百度,
找到了解决方案.下面来分享一下
# 问题原因
原因是在mysql8之前的版本中加密规则为mysql_native_password.
而mysql8之后的加密规则为caching_sha2_password.
# 问题结局
解决此问题有两种方法:
一种是更新navicat驱动来解决此问题,
一种是将mysql用户登录的加密规则修改为mysql_native_password。
第一种方式,我改了好久,都没有搞出来,放弃了
这里采用第二种方式。
打开命令行输入以下代码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新用户的密码
FLUSH PRIVILEGES; #刷新权限
然后就可以了
参考文章:武松肉搏白骨精的文章
PS:
对了,还有一种方法,就是卸载MySQL,安装5.7的版本
如果有哪里不对的,欢迎来指正,也欢迎一起来交流学习哇
-- iNick
-- 2018/12/29