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

推薦する

MySQL イベント スケジューラに関するよくある話 (必読)

概要MySQL には独自のイベント スケジューラもあり、これは Linux の crontab ジョ...

純粋なCSSでは、子要素が親要素の幅制限を突破できる。

文章のスタイルでは、このような状況がよく見られます コードは次のとおりです <div styl...

Xtrabackup を使用した MySQL バックアップ プロセスの詳細な説明

目次01 背景02 はじめに03 ワークフロー04 いくつかの質問05 ファイルをバックアップする0...

Linuxのtimeコマンドの使い方の詳しい説明

1. コマンドの紹介時間は、コマンドの実行に費やされた時間や関連するシステム リソース、その他の情報...

動的なセカンダリメニューを実現するためのCSS

シンプルなセカンダリメニューを動的に実装するマウスを第 1 レベルのラベル上に置くと、マウスが小さな...

Js における new 演算子の役割の詳細な説明

序文Js は現在最も一般的に使用されているコード操作言語であり、その中でも new 演算子は特によく...

Linux ホスト名設定の詳細な紹介

目次1. Linuxホスト名を設定するクライアントホストを構成するサーバーホストを構成する2. ホス...

TomcatはNginxリバースプロキシのクライアントドメイン名を取得します

質問Nginx リバース プロキシの後、Tomcat アプリケーションは、クライアント ブラウザーの...

元のPATHを上書きしてコマンドが見つからないというメッセージが表示されるコマンド失敗の問題を解決する方法

同僚から、LINUX サーバー上の多くのコマンドが (コマンドが見つかりません) というプロンプトで...

Linuxシステムにおける重要なサブディレクトリの問題について話す

/etc/fstabパーティション/ディスクを自動的にマウントし、マウントするパーティション/デバイ...

Docker のインストールと構成イメージの高速化の実装

目次DockerバージョンCentOS に Docker エンジンをインストールするシステム要件古い...

ウェブデザインにおけるインタラクション: ページングの問題に関する簡単な説明

機能: 前のページまたは次のページにジャンプします。要素: ページングの基本要素は、前のページ + ...

CSS スタイルをプログラムで処理するためのサンプル コード

プログラム的アプローチの利点1. スタイルの分散を避けるためのグローバルコントロール2. シンプルな...

TypeScript 列挙の基本と例

目次序文TypeScript の列挙型とは何ですか? TypeScriptで列挙型を使用する際に注意...

VMware で VMware ツールをインストールしてもインストール ファイルが表示されない問題を解決する方法

VMware ツールは VMware の使用に非常に便利です。そのため、VMware ツールをインス...