[Solved]: WARN: Establishing SSL connection without server's identity verification is not recommended.



Problem Statement:

When connecting a MySQL database I get the warning below:

Mon Apr 09 19:43:54 IST 2018 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.



Solution:

Your connection URL should look like the below,

jdbc:mysql://localhost:8080/database_name?autoReconnect=true&useSSL=false

This will disable SSL and also suppress the SSL errors.


Alert:

If you are using YAML for configuration then if will be fine but in case xml configuration if you use  url like this:

jdbc:mysql://hostname:8080/database_name?autoReconnect=true&useSSL=false

but in xml configuration when you mention & sign, the IDE shows below error:

The reference to entity "useSSL" must end with the ';' delimiter.

and then you have to explicitly use the & instead of & to be determined as & by xml thereafter in xml you have to give the url in xml configuration like this:

jdbc:mysql://hostname:8080/database_name?autoReconnect=true&useSSL=false