Dans une application Java que je suis en train de programmer, lorsque je demande au programme de récupérer les données d'une base de données SQL, cela s'affiche dans la console:
Wed Apr 20 16:57:58 MDT 2016 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.
Je sais que c’est beaucoup à lire et que SSL est désactivé dans l’atelier SQL. Je ne vois donc pas comment me débarrasser de cet avertissement ou si je devrais même en être inquiet. Merci d'avance.
Essayez d'utiliser le useSSL = false dans la chaîne de connexion
Exemple:
jdbc: mysql: // xxxxxxx: 3306/xxxx? autoReconnect = true et useSSL = false
Remplacer - jdbc: mysql: // localhost: 3306/demo
Avec - jdbc: mysql: // localhost: 3306/demo? UseSSL = false
Si quelqu'un utilise MysqlDataSource , qui est préférable à DriverManager, vous pouvez utiliser la fonction setUseSSL(boolean sslstate)
:
MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setUser("USER_NAME");
dataSource.setPassword("PASSWORK");
dataSource.setServerName("localhost"); //most likely
dataSource.setDatabaseName("DATABASE_NAME");
dataSource.setUseSSL(false); //Disable SSL
try(
Connection conn = dataSource.getConnection();
)
{
Statement stmt = conn.createStatement();
stmt.executeUpdate("INSERT INTO TABLE_NAME ...");
} catch (SQLException e)
{
e.printStackTrace();
}