解决Navicat for mysql 连接mysql出现1251--Client does not support authentication protocol错误

下载的破解版的navicat用了很久都没问题,最近做java web的课设图书管理系统,先用navicat建立了几个表格,然后和eclipse连接实现简单的登录验证,几天后再去打开mysql发现出现问题如下:

网上搜索说是:mysql8之前的版本中加密规则是mysql_native_password,而在mysql之后,加密规则是caching_sha2_password;

解决方法有两种:

方法1:升级native驱动

方法2:把加密规则还原成mysql_native_passvord

(网上都介绍的第二种方法,这里我就说一下第二种方法)

1.打开mysql 8.0 command line client小黑屏,输入mysql-u root -p,输入密码

2.输入命令ALTER USER'root'@'localhost'IDENTIFIED WITH mysql_native_password by'password';(password处为自己数据库设置的密码;

3.输入刚刚的密码,再次测试连接,惊喜的发现它竟然连接成功了耶

切记这几步不要弄错,不然可能会出现新的错误让人头大,最后只好选择卸载重装。。