新安装mysql 8.0或以上版本后,使用navicat连接的时候一直报错,如图:
百度一下,发现原因是mysql 8之前的本中加密规则为mysql_native_password,mysql 8之后加密规则变成了caching_sha2_password。
解决方法有两种:
- 升级navicat驱动;
- 是把mysql用户登录密码加密规则还原成mysql_native_password。
这里我们只介绍第二种,如下:
使用root账户在命令行登录mysql,然后使用如下命令更改加密方式,并重新设置密码:
ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;