MySQLのSSL接続エラー:Establishing SSL connection without server's identity verification is not recommended.

データベース
スポンサーリンク

プログラムからMySQLにSSLで接続したときに、エラー、警告が発生しました。

スポンサーリンク

サーバーの身元確認が必要

MySQLの接続時に出た警告メッセージは以下の通りです。

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.

 

どうやら、プログラムが動いてるサーバーから接続する外部のMySQLにSSLの証明書、身元確認が必要です。

WEBブラウザでhttpsで接続する際に、証明書が必要なのと同じ原理です。

解決策

MySQL 5.7よりデフォルトでSSLがtrueとなっているため、SSLの利用を想定せずにMySQLをインストールした場合に発生します。

解決するには、もちろんサーバーにSSL証明書を導入することです。

 

 

閉じた世界で環境内にMySQLとアプリケーションをを共に構築し、DBとアプリケーション間の通信にSSLの利用が必要ではない場合、以下の設定を実施してSSLの設定を無効化することにより本ワーニングを回避することができます。

 

MySQL接続文字列の最後に useSSL = false を追加します。

application.properties

#mysql datasource
mysql.datasource.url=jdbc:mysql://localhost/abcdb?useSSL=false

 

コメント