When we're using external Mysql DB directly in the connection string, it works fine. But when we're connect Percona Mysql server using proxysql in connection string in the file hibernate.properties, it gives the below error.
java.lang.RuntimeException: java.sql.SQLNonTransientConnectionException: Could not create connection to database server.
at io.onedev.commons.bootstrap.Bootstrap.unchecked(Bootstrap.java:319)
at io.onedev.commons.utils.ExceptionUtils.unchecked(ExceptionUtils.java:31)
at io.onedev.server.persistence.PersistenceUtils.openConnection(PersistenceUtils.java:38)
at io.onedev.server.data.DefaultDataManager.openConnection(DefaultDataManager.java:235)
at io.onedev.server.ee.clustering.DefaultClusterManager.start(DefaultClusterManager.java:102)
at io.onedev.server.OneDev.start(OneDev.java:140)
at io.onedev.commons.loader.DefaultPluginManager.start(DefaultPluginManager.java:44)
at io.onedev.commons.loader.AppLoader.start(AppLoader.java:60)
at io.onedev.commons.bootstrap.Bootstrap.main(Bootstrap.java:200)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:577)
at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:349)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.sql.SQLNonTransientConnectionException: Could not create connection to database server.
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.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:1005)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:822)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:207)
at io.onedev.server.persistence.PersistenceUtils.openConnection(PersistenceUtils.java:36)
... 10 common frames omitted
Caused by: java.lang.NullPointerException: Cannot invoke "String.toUpperCase(java.util.Locale)" because "javaEncoding" is null
at com.mysql.cj.CharsetMapping.getMysqlCharsetForJavaEncoding(CharsetMapping.java:550)
at com.mysql.cj.CharsetMapping.getCollationIndexForJavaEncoding(CharsetMapping.java:583)
at com.mysql.cj.protocol.a.NativeServerSession.configureCharacterSets(NativeServerSession.java:458)
at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1328)
at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:963)
... 15 common frames omitted
2024-05-07 18:23:50,876 INFO [Thread-0] io.onedev.commons.loader.AppLoader Stopping application...
Robin Shen commented 2 weeks ago
OneDev community edition only supports official MySQL installations.
Hello @robin,
When we're using external Mysql DB directly in the connection string, it works fine. But when we're connect Percona Mysql server using proxysql in connection string in the file hibernate.properties, it gives the below error.
connection string: hibernate.connection.url=jdbc:mysql://10.0.1.29:6033/onedev?serverTimezone=UTC&allowPublicKeyRetrieval=true&useSSL=false&disableMariaDbDriver=true