以下の 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 エラーも抑制されます。