Mysql-connector-java ドライバのバージョン問題の概要

Mysql-connector-java ドライバのバージョン問題の概要

Mysql-connector-java ドライバのバージョンの問題

私のデータベースのバージョンは 5.7.28 なので、Java を使用して MySQL に接続するとバージョンの問題が頻繁に発生します。

  • com.mysql.jdbc.Driverはmysql-connector-java 5にあります。
  • com.mysql.cj.jdbc.Driverは mysql-connector-java 6 にあります

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

SSL – セキュア ソケット レイヤー

クラス `com.mysql.jdbc.Driver' をロードしています。これは非推奨です。新しいドライバ クラスは com.mysql.cj.jdbc.Driver です。ドライバは SPI 経由で自動的に登録されるため、ドライバ クラスを手動でロードする必要は通常ありません。

エラーの原因:
MySQL5 で使用されるドライバー URL は com.mysql.jdbc.Driver であり、MySQL6 以降では com.mysql.cj.jdbc.Driver が使用されます。バージョンが一致しない場合は、ドライバー クラスが古くなっていることを示すエラーが報告されます。
解決:
構成ファイル内のドライバー クラス名を変更すると、ドライバー クラスが古くなっているという警告が表示されなくなります。

mysql5.7.28でドライバ名をcom.mysql.cj.jdbc.Driverに変更しても、エラーが報告されます。これは、pomプロジェクトオブジェクトモデルファイルのバージョンが

mysql-connector-java8.0 以降

mysql-connector-java と MySQL の対応するバージョン

私のバージョンはmysql5.7.28で、connector-javaバージョン5.1を使用しているため、上記のエラーが引き続き発生します。したがって、mysql5.6 以上では connector-java 8.0 以上を使用してください。

使用時にはタイムゾーンを設定する必要があります

ドライバークラス名=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/データベース名?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
ユーザー名=root
パスワード=

ここでの serverTimezone は serverTimezone=Asia/Shanghai と記述する必要があります。serverTimezone=Shanghai と記述してもエラーになります。上海のタイムゾーンが見つからないようです。世界には上海が複数あるのかもしれませんね、ハハ!

mysql-connector-java および Java 対応バージョン

上記を踏まえると、初心者の場合はmysql-connector-java 8.0以上を使用する方が良いでしょう。

上記はMysql-connector-javaドライバのバージョン問題の詳細です。Mysqlコネクタjavaドライバの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • mysql-connector-java.jar パッケージのダウンロード プロセスの詳細な説明
  • mysql-connector-java8.0.27 へのアップグレードに関する注意事項

<<:  QQブラウザ機能を実装するためのCSS

>>:  UTF-8 ファイルの Unicode 署名 BOM (バイト オーダー マーク) の問題

推薦する

CSSアダプティブレイアウトは、サブ要素項目の全体的な中央揃えと内部項目の左揃えを実現します。

日常業務では、次のようなレイアウトに遭遇することがあります。親要素のフレーム (ブラウザのサイズに応...

完全なMySQL学習ノート

目次MyISAM と InnoDBパフォーマンスの低下と SQL の速度低下の理由: MySQL 実...

HTML コードを書くための 30 のヒント

1. HTMLタグは常に閉じる前のページのソース コードでは、次のような記述がよく見られます。 &l...

IE アドレスバーのアイコン表示問題を解決する 3 つの手順

<br />この Web ページ制作スキル チュートリアルは、Web サイトのアイコンを...

nginx プロキシでの複数の 302 応答の解決策 (nginx Follow 302)

proxy_intercept_errors と recursive_error_pages を使...

MySQL の nvl() 関数に似た ifnull() 関数についての簡単な説明

IFNULL(式1,式2) expr1 が NULL でない場合、IFNULL() は expr1 ...

Linux ifconfig コマンドの使用

1. コマンドの紹介ifconfig (ネットワーク インターフェイスを構成する) コマンドは、ネッ...

MySQL ストアドプロシージャの長所と短所の分析

MySQL バージョン 5.0 ではストアド プロシージャのサポートが開始されました。ストアド プロ...

Vue3 Vue CLI マルチ環境設定

目次1. はじめに2. 切り替え1. 開発および本番環境の設定ファイルを追加する2. 複数の環境をサ...

Linux カーネル デバイス ドライバー 高度な文字デバイス ドライバーのメモ

/****************** * 高度な文字デバイス ドライバー ***********...

imgタグ間のスペースの問題の詳細な説明

IMG タグの基本分析 HTML5 では、img タグには 4 つの要素があります。 (1) src...

MySQL 8.0.25 のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0.25の最新のダウンロードとインストールのチュートリアルは参考になります。具体的な...

HTML 選択ボックスのプレースホルダーの作成に関する問題

テキスト入力でプレースホルダーを使用していますが、問題なく動作します。しかし、選択ボックスにはプレー...

Linux 上でプライベート Git サーバーを構築するための詳細なチュートリアル

1. サーバーのセットアップリモート リポジトリは実際にはローカル リポジトリと何ら変わりなく、純粋...

JavaScript で判決文をエレガントに記述する例

目次序文1. モナドの判断1.1 例1.2 オブジェクトに入れる1.3 マップに載せる2. 複数の判...