Error when connecting to MariaDB

BB10 months ago

Hi
Wanted to get back to playing with Traccar Server. Not sure which version I had previously (probably 5.3) but I installed 5.8 on top of it. I see now that I can't connect to the database that was created for Traccar long time ago. Credentials are correct and I took url from docs:

jdbc:mysql://localhost:3306/traccar?zeroDateTimeBehavior=round&allowPublicKeyRetrieval=true&serverTimezone=UTC&useSSL=false&allowMultiQueries=true&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8&sessionVariables=sql_mode=''

The DB is MariaDB 11.0.2 (updated today from 10.11). It's not MySQL but unless you're using some more exotic stuff it shouldn't be an issue.
There's a error in the log:

traccar[362816]: Exception in thread "main" java.lang.RuntimeException: com.google.inject.ProvisionException: Unable to provision, see the following errors:
traccar[362816]: 1) [Guice/ErrorInCustomProvider]: HikariPool$PoolInitializationException: Failed to initialize pool: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
traccar[362816]:   at DatabaseModule.provideDataSource(DatabaseModule.java:46)
traccar[362816]:   at DatabaseStorage.<init>(DatabaseStorage.java:48)
traccar[362816]:       \_ for 2nd parameter
traccar[362816]:   while locating DatabaseStorage
traccar[362816]:   at MainModule.provideStorage(MainModule.java:120)
traccar[362816]:   while locating Storage
traccar[362816]: Learn more:
traccar[362816]:   https://github.com/google/guice/wiki/ERROR_IN_CUSTOM_PROVIDER
traccar[362816]: 1 error
traccar[362816]: ======================
traccar[362816]: Full classname legend:
traccar[362816]: ======================
traccar[362816]: DatabaseModule:                         "org.traccar.storage.DatabaseModule"
traccar[362816]: DatabaseStorage:                        "org.traccar.storage.DatabaseStorage"
traccar[362816]: HikariPool$PoolInitializationException: "com.zaxxer.hikari.pool.HikariPool$PoolInitializationException"
traccar[362816]: MainModule:                             "org.traccar.MainModule"
traccar[362816]: Storage:                                "org.traccar.storage.Storage"
traccar[362816]: ========================
traccar[362816]: End of classname legend:
traccar[362816]: ========================
traccar[362816]:         at org.traccar.Main.run(Main.java:154)
traccar[362816]:         at org.traccar.Main.main(Main.java:114)
traccar[362816]: Caused by: com.google.inject.ProvisionException: Unable to provision, see the following errors:
traccar[362816]: 1) [Guice/ErrorInCustomProvider]: HikariPool$PoolInitializationException: Failed to initialize pool: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
traccar[362816]:   at DatabaseModule.provideDataSource(DatabaseModule.java:46)
traccar[362816]:   at DatabaseStorage.<init>(DatabaseStorage.java:48)
traccar[362816]:       \_ for 2nd parameter
traccar[362816]:   while locating DatabaseStorage
traccar[362816]:   at MainModule.provideStorage(MainModule.java:120)
traccar[362816]:   while locating Storage
traccar[362816]: Learn more:
traccar[362816]:   https://github.com/google/guice/wiki/ERROR_IN_CUSTOM_PROVIDER
traccar[362816]: 1 error
traccar[362816]: ======================
traccar[362816]: Full classname legend:
traccar[362816]: ======================
traccar[362816]: DatabaseModule:                         "org.traccar.storage.DatabaseModule"
traccar[362816]: DatabaseStorage:                        "org.traccar.storage.DatabaseStorage"
traccar[362816]: HikariPool$PoolInitializationException: "com.zaxxer.hikari.pool.HikariPool$PoolInitializationException"
traccar[362816]: MainModule:                             "org.traccar.MainModule"
traccar[362816]: Storage:                                "org.traccar.storage.Storage"
traccar[362816]: ========================
traccar[362816]: End of classname legend:
traccar[362816]: ========================
traccar[362816]:         at com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:251)
traccar[362816]:         at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1151)
traccar[362816]:         at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1186)
traccar[362816]:         at org.traccar.Main.run(Main.java:126)
traccar[362816]:         ... 1 more
traccar[362816]: Caused by: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
traccar[362816]:         at com.zaxxer.hikari.pool.HikariPool.throwPoolInitializationException(HikariPool.java:596)
traccar[362816]:         at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:582)
traccar[362816]:         at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:100)
traccar[362816]:         at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81)
traccar[362816]:         at org.traccar.storage.DatabaseModule.provideDataSource(DatabaseModule.java:79)
traccar[362816]:         at org.traccar.storage.DatabaseModule$$FastClassByGuice$$149a04.GUICE$TRAMPOLINE(<generated>)
traccar[362816]:         at org.traccar.storage.DatabaseModule$$FastClassByGuice$$149a04.apply(<generated>)
traccar[362816]:         at com.google.inject.internal.ProviderMethod$FastClassProviderMethod.doProvision(ProviderMethod.java:260)
traccar[362816]:         at com.google.inject.internal.ProviderMethod.doProvision(ProviderMethod.java:171)
traccar[362816]:         at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.provision(InternalProviderInstanceBindingImpl.java:185)
traccar[362816]:         at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.get(InternalProviderInstanceBindingImpl.java:162)
traccar[362816]:         at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
traccar[362816]:         at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
traccar[362816]:         at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
traccar[362816]:         at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
traccar[362816]:         at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
traccar[362816]:         at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
traccar[362816]:         at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
traccar[362816]:         at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300)
traccar[362816]:         at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1148)
traccar[362816]:         at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1186)
traccar[362816]:         at org.traccar.MainModule.provideStorage(MainModule.java:123)
traccar[362816]:         at org.traccar.MainModule$$FastClassByGuice$$d8174.GUICE$TRAMPOLINE(<generated>)
traccar[362816]:         at org.traccar.MainModule$$FastClassByGuice$$d8174.apply(<generated>)
traccar[362816]:         at com.google.inject.internal.ProviderMethod$FastClassProviderMethod.doProvision(ProviderMethod.java:260)
traccar[362816]:         at com.google.inject.internal.ProviderMethod.doProvision(ProviderMethod.java:171)
traccar[362816]:         at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.provision(InternalProviderInstanceBindingImpl.java:185)
traccar[362816]:         at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.get(InternalProviderInstanceBindingImpl.java:162)
traccar[362816]:         at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
traccar[362816]:         at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
traccar[362816]:         at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
traccar[362816]:         at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1148)
traccar[362816]:         ... 3 more
traccar[362816]: Caused by: java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
traccar[362816]:         at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:111)
traccar[362816]:         at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:98)
traccar[362816]:         at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:90)
traccar[362816]:         at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:64)
traccar[362816]:         at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:74)
traccar[362816]:         at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:895)
traccar[362816]:         at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:820)
traccar[362816]:         at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:446)
traccar[362816]:         at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:239)
traccar[362816]:         at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:188)
traccar[362816]:         at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)
traccar[362816]:         at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359)
traccar[362816]:         at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)
traccar[362816]:         at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470)
traccar[362816]:         at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561)
traccar[362816]:         ... 33 more
traccar[362816]: Caused by: com.mysql.cj.exceptions.CJException: Unknown system variable 'transaction_isolation'
traccar[362816]:         at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
traccar[362816]:         at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
traccar[362816]:         at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
traccar[362816]:         at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
traccar[362816]:         at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
traccar[362816]:         at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62)
traccar[362816]:         at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
traccar[362816]:         at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:150)
traccar[362816]:         at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:128)
traccar[362816]:         at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:849)
traccar[362816]:         at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:771)
traccar[362816]:         at com.mysql.cj.protocol.a.NativeProtocol.sendCommand(NativeProtocol.java:701)
traccar[362816]:         at com.mysql.cj.protocol.a.NativeProtocol.sendCommand(NativeProtocol.java:156)
traccar[362816]:         at com.mysql.cj.NativeSession.loadServerVariables(NativeSession.java:445)
traccar[362816]:         at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1269)
traccar[362816]:         at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:858)
traccar[362816]:         ... 42 more
systemd[1]: traccar.service: Main process exited, code=exited, status=1/FAILURE
Anton Tananaev10 months ago
BB10 months ago

Thanks! Installing preview and changing config did work for me. :)