MySQL 8 Support

Four Stars

MySQL 8 Support

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)
jdbc_connection.PNG

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):
mysql_connector_java_8.PNG


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

Moderator

Re: MySQL 8 Support

Hello,

Could you please create a new feature jira issue on talend bug tracker?

Best regards

Sabrina

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Four Stars

Re: MySQL 8 Support

Moderator

Re: MySQL 8 Support

Hello,

Feel free to vote for this jira issue.

Best regards

Sabrina

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
One Star

Re: MySQL 8 Support

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

Five Stars

Re: MySQL 8 Support

Hi,

I saw in the lira posting the MySQL 8 is added to 7.1.1

I have downloaded 7.1.1 M4, and still no native MySql 8 support.

What am I doing wrong here ?

Tutorial

Introduction to Talend Open Studio for Data Integration.

Definitive Guide to Data Integration

Practical steps to developing your data integration strategy.

Definitive Guide to Data Quality

Create systems and workflow to manage clean data ingestion and data transformation.