MySQLデータベースに接続する際のSSL接続に関する警告 質問する

MySQLデータベースに接続する際のSSL接続に関する警告 質問する

以下の 2 つのクラスを使用して、MySQL データベースに接続しようとしました。ただし、常に次のエラーが発生します。

Wed Dec 09 22:46:52 CET 2015 警告: サーバーの ID 検証なしで SSL 接続を確立することは推奨されません。MySQL 5.5.45+、5.6.26+、および 5.7.6+ の要件によると、明示的なオプションが設定されていない場合は、デフォルトで SSL 接続を確立する必要があります。SSL を使用していない既存のアプリケーションに準拠するには、verifyServerCertificate プロパティを 'false' に設定してください。useSSL=false を設定して SSL を明示的に無効にするか、useSSL=true を設定してサーバー証明書の検証用にトラストストアを提供する必要があります。

これはメソッドを持つテスト クラスですmain

public class TestDatabase {

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

この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");
        }

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

ベストアンサー1

接続URLは以下のようになります。

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

これにより、SSL が無効になり、SSL エラーも抑制されます。

おすすめ記事