java连mysql8.0出现Unable to load authentication plugin 'caching_sha2_password错误

本文详细介绍了在使用MySQL8.0版本时遇到的连接问题及解决方案,主要聚焦于如何调整加密规则以适应不同版本的MySQL驱动。通过更改default_authentication_plugin参数并更新root用户的认证方式,最终解决了因版本差异导致的连接失败问题。

今天整合SSM时,在创建连接时一直报错 Unable to load authentication plugin 'caching_sha2_password'. 研究了很久发现是因为MySQL的版本问题

我目前用的MySQL 8.0.15,据网上所说,5.x版本和8.x的区别如下:

5.X版本是:default_authentication_plugin=mysql_native_password

8.x版本就是:default_authentication_plugin=caching_sha2_password

但是后来看到一篇博客说将Maven引入的MySQL驱动的jar包改为(8.0.11)版本的jar(我目前用的5.1)看完后马上将自己的jar包下载一个8.0.11发现还是不行

继续百度....又看到说将加密规则重新改一下,又打开MySQL改密码

输入如下代码:(password换成相应密码)

 

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
alter user 'root'@'localhost' identified by 'password';

 

这里有个坑需要注意,一定看好自己的root用户对应的地址,默认是localhost,我之前小组需要改成了%,这里运行 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;时一直报错

后来改成ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 成功运行。

改完加密规则成功运行,后来又发现,在改完加密规则之后,就算MySQL驱动jar包仍然是5.1也可以使用:

 

 

 

 

文章来源: https://www.cnblogs.com/wanguncle/p/11432868.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值