
前提・実現したいこと
Javaで入力してもらったデータをMySQLのDBへ追加する部分を作成しています。
研修中で、SSLについては特に明記されておらず、使用の有無はどちらでも構わないとのことです。
SSLの知識が乏しく、何故このエラーが出てくるのかもわからない状況です。
このエラーメッセージの対応の仕方をご教授願います。
よろしくお願いします。
発生している問題・エラーメッセージ
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. サーバーの身元確認なしにSSL接続を確立することは推奨されません。 MySQL 5.5.45+、5.6.26+、5.7.6+の要件明示的なオプションが設定されていない場合、デフォルトでSSL接続を確立する必要があります。 SSLを使用しない既存のアプリケーションに準拠するため、verifyServerCertificateプロパティは 'false'に設定されています。 useSSL = falseを設定して明示的にSSLを無効にするか、useSSL = trueに設定してサーバー証明書の検証にtruststoreを指定する必要があります。
該当のソースコード
Java
1try { 2 Class.forName("com.mysql.jdbc.Driver"); 3 // JDBCドライバの登録 4 String driver = "org.gjt.mm.mysql.Driver"; 5 // データベースの指定 6 String server = "localhost"; // MySQLサーバ ( IP または ホスト名 ) 7 String dbname = "masta"; // データベース名 8 String url = "jdbc:mysql://" + server + "/" + dbname + "?useUnicode=true&characterEncoding=EUC_JP"; 9 String user = "root"; // データベース作成ユーザ名 10 String password = "root"; // データベース作成ユーザパスワード 11 Class.forName (driver); 12 // データベースとの接続 13 Connection con = DriverManager.getConnection(url, user, password); 14 // テーブル照会実行 15 Statement stmt = con.createStatement (); 16 String sql = "INSERT INTO masta ( 社員コード,社員名,部署,郵便番号,住所,電話番号,性別 ) VALUES (" 17 + cord + "," + name + "," + depa + "," + num + "," + add + "," + cal + "," + kind +");"; //sql文 18 ResultSet rs = stmt.executeQuery (sql); // 19 20 // データベースのクローズ 21 rs.close(); 22 stmt.close(); 23 con.close(); 24 } catch (SQLException e) { 25 System.err.println("SQL failed."); 26 e.printStackTrace (); 27 } catch (ClassNotFoundException ex) { 28 ex.printStackTrace (); 29 }



回答1件
あなたの回答
tips
プレビュー