java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required
这个错误
百度了很多,都说是jdbc数据库驱动版本太高,降低就好了,后来自己排查,发现问题确实出在版本,下面是我这边问题的解决办法,不一定能保证都能解决大家相同的异常,同时写下来记录一下自己的学习过程。
首先打开pom.xml,找到mysql连接驱动的依赖
-
<dependency>
-
<groupId>mysql
</groupId>
-
<artifactId>mysql-connector-java
</artifactId>
-
<scope>runtime
</scope>
-
</dependency>
我的项目依赖是在创建项目时选择的依赖,然后在项目创建后由IDEA自动添加的依赖,如上代码就是自动添加的依赖,不过自动添加的依赖是没有版本号<version></version>的,可能是默认版本比较高,所以我这边一直出错,连接不了。然后我添加上版本号,变成如下
-
<dependency>
-
<groupId>mysql
</groupId>
-
<artifactId>mysql-connector-java
</artifactId>
-
<version>5.1.37
</version>
-
<scope>runtime
</scope>
-
</dependency>
保存。但是这里问题还没有解决,返回到application.properties/application.yml文件中,发现spring.datasource.driver-class-name后的驱动名变成了红色,报错,解决办法:右键pom.xml——>maven——>Download Source,等待下载完毕,问题解决。
关于这边的spring.datasource.driver-class-name配置还有要注意的一点,在mysql5中,jdbc连接mysql5是com.mysql.jdbc.Driver,而mysql6以及以上是com.mysql.cj.jdbc.Driver,并且在url之后要指定时区。
=================================================