Avertissement sur la connexion SSL lors de la connexion à la firebase database MySQL

Avec les deux classes ci-dessous, j’ai essayé de me connecter à une firebase database MySQL. Cependant, je reçois toujours cette erreur:

Mer. Déc. 09 22:46:52 CET 2015 AVERTISSEMENT: l’établissement d’une connexion SSL sans vérification de l’identité du serveur n’est pas recommandé. Selon les exigences de MySQL 5.5.45+, 5.6.26+ et 5.7.6+, la connexion SSL doit être établie par défaut si l’option explicite n’est pas définie. Pour la conformité avec les applications existantes n’utilisant pas SSL, la propriété verifyServerCertificate est définie sur “false”. Vous devez soit désactiver explicitement SSL en définissant useSSL = false, soit définir useSSL = true et fournir un fichier de clés certifiées pour la vérification des certificates du serveur.

Ceci est la classe de test avec la méthode main :

 public class TestDatabase { public static void main(Ssortingng[] args) { Database db = new Database(); try { db.connect(); } catch (Exception e) { e.printStackTrace(); } db.close(); } } 

Ceci est la classe Database :

 import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Database { private Connection con; public void connect() throws Exception{ if(con != null) return; try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { throw new Exception("No database"); } Ssortingng connectionURL = "jdbc:mysql://localhost:3306/Peoples"; con = DriverManager.getConnection(connectionURL, "root", "milos23"); } public void close(){ if(con != null){ try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } } } 

Votre URL de connexion devrait ressembler à la suivante,

 jdbc:mysql://localhost:3306/Peoples?autoReconnect=true&useSSL=false 

Cela désactivera SSL et supprimera également les erreurs SSL.

Que diriez-vous d’utiliser SSL mais de désactiver la vérification du serveur (par exemple, en mode développement sur votre propre ordinateur):

 jdbc:mysql://localhost:3306/Peoples?verifyServerCertificate=false&useSSL=true 

Une méthode alternative serait:

 Properties properties = new Properties(); properties.setProperty("user", "root"); properties.setProperty("password", "milos23); properties.setProperty("useSSL", "false"); properties.setProperty("autoReconnect", "true"); try (Connection conn = DriverManager.getConnection(connectionUrl, properties)) { ... } catch (SQLException e) { ... } 

Bien que, je ne pense pas que le paramètre de reconnexion automatique est nécessaire pour supprimer l’avertissement.

vous devez utiliser votre chemin mysql comme ceci:

  

Utilisez ceci pour résoudre le problème en hive tout en établissant une connexion avec MySQL

  javax.jdo.option.ConnectionURL jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true&autoReconnect=true&useSSL=false metadata is stored in a MySQL server  

mentionne l’ url comme:

 jdbc:mysql://hostname:3306/hibernatedb?autoReconnect=true&useSSL=false 

mais dans la configuration xml lorsque vous mentionnez et signez, l’EDI affiche ci-dessous l’erreur:

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

et puis vous devez explicitement utiliser le & au lieu de & être déterminé comme & par xml par la suite dans xml vous devez donner l’url dans la configuration de xml comme ceci:

 jdbc:mysql://hostname:3306/hibernatedb?autoReconnect=true&useSSL=false 

C’était bon pour moi:

 this.conn = (Connection)DriverManager .getConnection(url + dbName + "?useSSL=false", userName, password); 

J’ai trouvé cet avertissement aussi alors je l’ai corrigé en utilisant SSL = faux suffixe à la chaîne de connexion comme cet exemple de code.

Exemple:

 connectionSsortingng = "jdbc:mysql://{server-name}:3306/%s?useUnicode=yes&characterEncoding=UTF-8&useSSL=false" 

les nouvelles versions de mysql-connector établissent une connexion SSL par défaut … pour le résoudre:

Téléchargez l’ancienne version de mysql-connector telle que mysql-connector-java-5.0.8.zip

. . ou . . Téléchargez OpenSSL pour Windows et suivez les instructions pour le configurer