web-dev-qa-db-fra.com

Comment désactiver WARN lors de la connexion à une base de données SQL en Java

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. 

9
Ethan Moore

Essayez d'utiliser le useSSL = false dans la chaîne de connexion

Exemple: 

jdbc: mysql: // xxxxxxx: 3306/xxxx? autoReconnect = true et useSSL = false

19
geek

Remplacer - jdbc: mysql: // localhost: 3306/demo

Avec - jdbc: mysql: // localhost: 3306/demo? UseSSL = false

1
William Guzman

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();
}
0