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.<init>(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 Connector/J 8.0 is compatible with all MySQL versions starting with MySQL 5.5. Additionally

大體意思說8.0的jar支持從5.5及以上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章