In this example, it needs to connect to an older mysql database, which uses a different driver class (v5 is com.mysql.jdbc.Driver, v9 is com.mysql.cj.jdbc.Driver)
driver: com.mysql.jdbc.Driver
|
pass: xxxxxxxx
|
url: jdbc:mysql://iam.example.edu:3306/iam
|
user: grouperdev
|
Results in
java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required
|
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:102)
|
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
|
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:81)
|
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:55)
|
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:65)
|
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:70)
|
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:837)
|
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:420)
|
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:238)
|
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:180)
|
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175)
|
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220)
|
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206)
|
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203)
|
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1176)
|
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1163)
|
at com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44)
|
at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1908)
|
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)
|
Caused by: com.mysql.cj.exceptions.UnableToConnectException: CLIENT_PLUGIN_AUTH is required
|
at jdk.internal.reflect.GeneratedConstructorAccessor130.newInstance(Unknown Source)
|
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
|
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
|
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
|
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:52)
|
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:76)
|
at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:147)
|
at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1333)
|
at com.mysql.cj.NativeSession.connect(NativeSession.java:155)
|
at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:961)
|
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825)
|
So it's using the newer driver even though I specified the old one.