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.