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 (バイト オーダー マーク) の問題

推薦する

ウェブデザインと制作に関する科学的原則と提案の要約

<br />ネットワーク設計の分野では、アイトラッキングに関する研究が非常に盛んに行われ...

Visual Studio Codeを使用してMySqlデータベースに接続し、クエリを実行します。

Visual Studio Code は、Microsoft が開発した強力なテキスト エディター...

CSS3ダイヤモンドパズルはdivのみを回転し、背景画像は回転しない機能を実現します

需要背景プロジェクトはVueを使用して作成され、ビジネス要件にはパズル効果があります。デフォルトの背...

winx64 での mysql5.7.19 の基本的なインストール プロセス (詳細)

1. ダウンロード参考: https://www.jb51.net/softs/451120.ht...

Linuxはscpコマンドを使用してファイルをローカルコンピュータにコピーし、ローカルファイルをリモートサーバーにコピーします。

以下のように表示されます。リモート サーバーのファイルをローカルにコピーします。 scp -r -P...

Gearman + MySQL による永続化操作例

この記事では、gearman+mysql メソッドを使用して永続化操作を実装します。ご参考までに、詳...

アイデアはDockerプラグインを使用してワンクリックの自動デプロイを実現します

目次環境: 1. Dockerはリモート接続アクセスを可能にするidea dockerプラグインをイ...

JavaScript における 3 つの for ループ ステートメントの使用の概要 (for、for...in、for...of)

序文JS に触れるすべての開発者は、必然的に for ループを扱うことになります。結局のところ、fo...

nginx+php-fpm サービスの HTTP ステータス コード 502 の詳細な分析

弊社の Web プロジェクトの 1 つでは、新しい都市の増加によりトラフィックと DB 負荷が増加し...

DockerコンテナでJupyterノートブックを設定する方法

Jupyter ノートブックは、主に Python コードの記述、より具体的にはディープラーニング開...

熟練デザイナーの7つの原則(2):色の使い方

<br />前回の記事:優秀なデザイナーの7つの原則(1):フォントデザイン 英語 原文...

HTML で 2 列レイアウトを実装する方法の例 (左側は固定幅、右側は適応幅)

HTMLは2列レイアウトを実装し、左側は固定幅、右側は適応幅です。実装1: <スタイル>...

CentOS7 で yum ソースをインストールし、コマンド rz と sz をアップロードおよびダウンロードする方法 (画像付き)

** CentOS7 で yum ソースをインストールし、rz および sz コマンドをアップロー...

Linux で完全な Samba サーバーを構築する方法 (CentOS バージョン)

序文smb は、クライアントとサーバー間の Web 接続および情報通信に使用できるプロトコルの名前で...

iOS WeChat H5ページのゴム反発効果の落とし穴記録

ビジネス要件最近開発したプロジェクトの一つに、WeChat公式アカウントに関連したH5ページがありま...