web-dev-qa-db-ja.com

新しいMySQLドライバーが原因でJava.sql.SQLNonTransientConnectionException:CLIENT_PLUGIN_AUTHが必要です

MySQL JDBCドライバーを5.1.38から6.0.2に変更すると、次の例外が発生します

Java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required

この例外は、通常のJDBC初期化で発生しました。

おそらく、これはSSLに関連している可能性があります。次のメッセージも表示されるためです。

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

以前のバージョンにはありませんでした。

7
Dims

これは回帰のように聞こえます。 6.0.2に切り替える特別な理由はありましたか?そうでない場合は、5.1.38に戻し、3か月後に6.xを試して、MySQLのスタッフがドライバを安定させるようにします。

9
Slava Imeshev

mysqlコネクタ(6以降)の新しいバージョンは、古いバージョンのDBMSと互換性がないようですmysql(5.6未満)。したがって、問題を解決するために、mysql connectorを更新する場合は、同じことを実行してみてくださいDBMSで。実際、私はmysqlコネクタ8.0.13DBMS msql 5.1 ....DBMSを5.6.17に移動して解決しました

4
vvs

同じ問題があり、親タグのバージョンを2.1.1.RELEASEから2.0.0.RELEASEに変更することで解決しました

から

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
3
Merwais Muafaq

私はこの問題をpomのmysqlバージョンを削除することで解決します。

<dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-Java</artifactId>       
</dependency>   
0
Aruna Kumara