Communications link failure when connecting to MySQL server 5.7 from TAC 6.3.1

Talend Version       6.3.1

Summary

 
Additional Versions  
Product TDI
Component TAC
Problem Description

After accessing TAC (6.3.1) using the TAC login page (http://localhost:6380/org.talend.administrator/) and clicking Go to db config page to view the database configuration used by TAC, a CommunicationsException exception is thrown as shown below:

 

mysql3.png

 

When clicking Check to connect to the database (with TAC database parameter Url : jdbc:mysql://127.0.0.1:3306/talend_administrator), it fails with the following Exception Stack:

 

Caused by: java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 45 milliseconds ago. The last packet sent successfully to the server 
was 45 milliseconds ago.
at org.talend.administrator.common.persistence.teneo.HibernateFactory.createPreferenceDataStore(HibernateFactory.java:87)
at org.talend.administrator.common.persistence.teneo.HibernateFactory.getPrefDataStore(HibernateFactory.java:190)
at org.talend.administrator.common.persistence.PersistenceUtil.getSessionFactory(PersistenceUtil.java:145)
at org.talend.administrator.common.persistence.PersistenceUtil.createPersistenceAdapterInstance(PersistenceUtil.java:122)
at org.talend.administrator.common.persistence.PersistenceUtil.getPersistenceAdapter(PersistenceUtil.java:87)
at org.talend.administrator.common.config.persistence.ConfigHelper.findValueByKey(ConfigHel
Problem root cause

The following warning can be found in TAC outputs:

WARN: Establishing SSL connection without server's identity verification is not recommended.
According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default
if explicit option isn't set. For compliance with existing applications not using SSL
the verifyServerCertificate property is set to 'false'.
You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

The cause of the problem is that MySQL is expecting an SSL connection to be established. But the connection in TAC is configured to establish a non-SSL connection.

Solution or Workaround

The solution consists of configuring the TAC db connection to indicate to the MySQL server that a non-SSL connection is to be established between the TAC and MySQL server. To implement this solution, the useSSL=false property is passed using a MySQL JDBC connect string.

 

For this specific issue, replace this TAC database parameter URL value:

jdbc:mysql://127.0.0.1:3306/talend_administrator

with this value:

jdbc:mysql://127.0.0.1:3306/talend_administrator?useSSL=false
JIRA ticket number  
Version history
Revision #:
12 of 12
Last update:
‎12-04-2017 01:23 PM
Updated by:
 
Contributors