Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Dear Community,
For test purposes we recently updated our MySQL Database to MySQL 8.
Currently I have trouble connecting the new database and updating my existing jobs.
I tested with tos 6.5.1 as well as with 7.0.1. In both versions there is no native MySQL 8 support, yet.
Using the built in MySQL 5 connector, it's the same error others got as well: (https://community.talend.com/.../Connection-Failure-Talend-6-5-to-MySQL-8-0/m-p/121480)
Verbindung fehlgeschlagen. Sie müssen die Datenbankeinstellungen ändern.
java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
at org.talend.core.model.metadata.builder.database.JDBCDriverLoader.getConnection(JDBCDriverLoader.java:195)
at org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils.connect(ExtractMetaDataUtils.java:1106)
at org.talend.core.model.metadata.builder.database.ExtractMetaDataFromDataBase.testConnection(ExtractMetaDataFromDataBase.java:316)
at org.talend.metadata.managment.repository.ManagerConnection.check(ManagerConnection.java:289)
at org.talend.repository.ui.wizards.metadata.connection.database.DatabaseForm$62.runWithCancel(DatabaseForm.java:3983)
at org.talend.repository.ui.wizards.metadata.connection.database.DatabaseForm$62.runWithCancel(DatabaseForm.java:1)
at org.talend.repository.ui.dialog.AProgressMonitorDialogWithCancel$1.runnableWithCancel(AProgressMonitorDialogWithCancel.java:77)
at org.talend.repository.ui.dialog.AProgressMonitorDialogWithCancel$ARunnableWithProgressCancel$1.call(AProgressMonitorDialogWithCancel.java:161)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.Util.getInstance(Util.java:384)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1013)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:973)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:918)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2588)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2321)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:832)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:417)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:344)
at org.talend.core.model.metadata.builder.database.DriverShim.connect(DriverShim.java:41)
at org.talend.core.model.metadata.builder.database.JDBCDriverLoader.getConnection(JDBCDriverLoader.java:186)
... 9 more
Caused by: java.lang.NullPointerException
at com.mysql.jdbc.ConnectionImpl.getServerCharacterEncoding(ConnectionImpl.java:3307)
at com.mysql.jdbc.MysqlIO.sendConnectionAttributes(MysqlIO.java:1985)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1911)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1288)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2506)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2539)
... 21 more
So I tried to find a solution, here are the results of my research:
MySQL 8 is supported since Connector/J 5.1.41 (https://bugs.mysql.com/bug.php?id=86221)
But TOS 6.5.1 & 7.0.1 both use mysql-connector-java-5.1.30
Connector/J 8.0 is not available in TOS.
Next I tried to add the new Connector/J 8.0 jar to Talend, but it didn't work at all. For me it's still not clear how to update the Talend dependencies for the MySQL components. Is there a suitable way to do so?
I tried everything mentioned in those threads, no success:
.../resolved-Impossible-to-download-mysql-jdbc-driver-jar-in-TOS-DI/m-p/64087
.../Updating-the-mysql-connector-jar-file-to-be-used/td-p/81776
https://help.talend.com/reader/f7Em9WV_cPm2RRywucSN0Q/Gg2kxDcFrne6sKCzcBd27Q
After a while I at least was able to connect to the database with JDBC as DB type. Here it was possible to select the external Connector/J 8.0 jar file. (It was imported afterwards)
This connection works under tos 7.0.1 but has trouble with the mysql mapping in tos 6.5.1.
After a few tests I decided to rather not rebuild all my jobs with the JDBC components. There are to many possible errors as well as different behaviour of the jdbc-components.
At least the jar file is listed now within the modules (in tos 7.0.1):
My question is, has anybody similar experiences or a solution how to edit the jar-dependencies of talend and the mysql components?
Does Talend plan to support the native MySQL 8 connection in any future release?
I'm looking forward to your thoughts and input.
Best regards
Hello,
Could you please create a new feature jira issue on talend bug tracker?
Best regards
Sabrina
Seems like someone did that already yesterday:
https://jira.talendforge.org/browse/TMDM-12310?jql=text%20~%20%22mysql%208%22
Hello,
Feel free to vote for this jira issue.
Best regards
Sabrina
Hi,
i had the same error and the Solution for me was to add the following parameters to the mysql Server Config:
default-authentication-plugin=mysql_native_password
collation-server = latin1_german1_ci
character-set-server = latin1
@nhalicka
Hi I am running into the same issue and looking for a solution.
Could you please let me know where exactly you added the parameters?
Best
Basti
Hi,
i think it was in the my.ini Config File.