转载请标明出处:
https://bigmaning.blog.csdn.net/article/details/124459157
本文出自:【BigManing的博客】
背景
连接Mysql8时 报错:
java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'
原因
不同版本的认证插件不同造成的
8版本前是:default_authentication_plugin=mysql_native_password
8版本后是:default_authentication_plugin=caching_sha2_password
解决办法
方式1、修改认证plugin(仅限测试环境的方案)
原理: 把mysql8的认证方式 由 caching_sha2_password
改为 mysql_native_password
。
操作 : 参考这里
不推荐这个方式1 ,mysql8 使用
caching_sha2_password
的认证方式,是有他的原因的 。 测试环境使用还好,生产环境这样操作 难免有隐患。
方式2、更新认证plugin(推荐)
既然mysql8默认的认证插件是caching_sha2_password` ,那我们就同步 更新驱动即可
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.29</version>
</dependency>