PhpStormの機能で、SSHトンネルを使ってサーバー上のMySQLへJDBC接続していたのが気づいたら接続できなくなっていました。
PhpStormならカラム追加とか簡単にテーブル変更などできるので、重宝していましたが使えないのは結構不便です。
エラーメッセージは「[08S01] Communications link failure」でしたが、そこ以外のエラーメッセージを読んだら解決できました。
ちなみに PhpStormのバージョンは2021.1.3 でした。
エラー内容
PhpStormでサーバー上のMySQLへJDBC接続しようとすると、エラーで接続できなくなってしまいました。
[08S01] Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate).
エラーメッセージにもある「javax.net.ssl.SSLHandshakeException」は、どうやら2021年3月リリースのJava16の変更が関係してそうだと分かりました。
Java16ではTLS1.0と1.1が無能になったそうなので、そのあたりの設定が怪しそうです。
解決方法
とりあえずデータソースの詳細タブ内の「useSSL」デフォルトで「true」になっているのを変更しました。
「useSSL」を「FALSE」に変更。
まちゃ
意外とあっさり
動作確認
「接続のテスト」をクリックして確認したら接続に成功しました。
接続のログにも「SSL: no」となっています。
DBMS: MySQL (バージョン 5.7.27) 大小文字の区別: plain = exact、delimited = exact ドライバー: MySQL Connector/J (バージョン mysql-connector-java-8.0.15 (Revision: 79a4336f140499bd22dd07f02b708e163844e3d5)、JDBC4.2) Ping: 45 ms SSL: no
今まで正常に使えていたのが、気づいたら使えなくなっていたのでビックリしましたが、無事解決できて良かったです。
コメント