mysql-jdbc报CLIENT_PLUGIN_AUTH is required

jdbc在连接mysql时出现的一个异常:CLIENT_PLUGIN_AUTH is required

mysql-jdbc使用的是8.0,mysql版本使用的是5.1

java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:79)
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835)
	at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:455)
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:207)
	at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:136)
	at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:369)
	at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:198)
	........

 这种情况就是mysql的jdbc版本太高了。

解决办法:

1、把mysql数据库升级到5.5及以上。

2、把jdbc降级,使用支持5.1的版本。因为8.0兼容5.5及以上。

mysql官网介绍:https://dev.mysql.com/downloads/connector/j/5.1.html

mysql-jdbc报CLIENT_PLUGIN_AUTH is required_第1张图片

 

MySQL Connector/J 8.0 is compatible with all MySQL versions starting with MySQL 5.5. Additionally

大体意思说8.0的jar支持从5.5及以上。

你可能感兴趣的:(MySQL)