最新的mysql版本为8.0,在mysql8.0中对用户的默认密码加密规则做了修改,和以前使用的加密规则不一致,相对来说应该是更安全了,但是这就造成一个问题,在使用程序连接的时候,如果使用的mysql-driver连接驱动是5.7不是8.0的时候就会出现一系列的错误
其中使用navicat或者程序连接一般连接不上报错为:java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.
简单、直接、粗暴的贴一下解决方案:
-
进入mysql命令行:
在命令行中执行mysql -uroot -p
,然后输入root账号的密码,进入mysql命令行. -
修改用户的加密规则
如果使用的是myql-5.7的连接驱动,不想升级程序中的连接驱动,那么就修改加密规则即可,如果不想修改加密规则,那么就将mysq-connector的版本升级到8.0以上即可
-
进入到mysql数据库
use mysql;
-
查询user表的账号
select user,host,plugin from user;
-