wake-up-neo.net

So deaktivieren Sie WARN, wenn Sie in Java eine Verbindung zur SQL-Datenbank herstellen

Wenn ich in einer Java-Anwendung programmiere, frage ich das Programm, um Daten aus einer SQL-Datenbank abzurufen, in der Konsole: 

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.

Ich weiß, dass das viel zu lesen ist, und ich habe SSL in der SQL-Workbench deaktiviert. Ich kann also nicht herausfinden, wie ich die Warnung loswerden kann oder ob ich mir überhaupt Sorgen machen sollte. Danke im Voraus. 

9
Ethan Moore

Verwenden Sie in der Verbindungszeichenfolge die Verwendung von useSSL = false

Beispiel: 

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

19
geek

Ersetzen Sie - jdbc: mysql: // localhost: 3306/demo

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

1
William Guzman

Falls jemand MysqlDataSource verwendet, was dem DriverManager vorgezogen wird, können Sie die Funktion setUseSSL(boolean sslstate) verwenden:

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