现象
安装了mysql-installer-community-8.0.19.0,然后又安装了Navicat for MySQL_11.2.15,打开Navicat准备链接数据库的时候出现了如下提示:
1251- Client does not support authentication protocol
原因
网上说出现这种情况的原因是:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,
解决问题方法有两种:
- 升级navicat驱动;
- 把mysql用户登录密码加密规则还原成mysql_native_password.
解决步骤
1.打开CMD,进入MySQL的bin目录,然后输入mysql -u root -p,输入密码
2、更新密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则 (这行我没有写,不过貌似也可以)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
FLUSH PRIVILEGES; #刷新权限
3、打开Navicat 更新密码 重新连接即可
参考连接:https://blog.csdn.net/seventopalsy/article/details/80195246