当我使用MSI方式安装了8.0.21的新版mysql后,迫不及待的使用navicat连接mysql服务,但发现连接不成功,此问题在每次搭建mysql服务后都会出现,找了下以前的解决办法,又一次解决了问题。
上网搜寻了下问题的原因是:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。
将密码加密规则更换为以前的加密方式就好了,当然还有一种方式是升级navicat的驱动,我没有尝试。
1、通过命令行连接mysql
mysql -uroot -p<我的密码>
如果没有环境变量,从安装目录的bin目录下打开cmd运行命令
2、修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY '我的密码' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '我的密码';
FLUSH PRIVILEGES;
3、再次使用navicat登录就可以了