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

推薦する

HTMLコードテキストボックスの制限入力テキストボックスが灰色になり、制限テキストボックスの入力

方法 1: readonly 属性を true に設定します。入力値=読み取り専用 readOnly...

CSS 完全な視差スクロール効果

1. 何ですか視差スクロールとは、複数の背景レイヤーを異なる速度で動かすことで、3次元のモーション...

我々は自らの力でIE6を絶滅に追い込んでいる

実際、IE6 が本当にいつ消滅するのか私たちは毎日疑問に思っていますが、2001 年のリリース以来、...

Vue プロジェクトを実行するときに `--fix` オプションで修正できる可能性のある警告のエラー問題を解決します。

問題: vue-cil3 は、`--fix` オプションで修正できる可能性のある警告とともに実行され...

MySQL の分離レベル、ロック、MVCC の紹介

この記事の目的は、これらの概念とその機能の関係を明らかにすることです。 Mysql がトランザクショ...

VMware vSphere6.0 サーバー仮想化の展開とインストールの図 (詳細な手順)

1. VMware vSphere 導入の早期計画のポイント1. vSphereの利点(わずかに)...

Node.js http モジュールの使用

目次序文ウェブHTTP サーバーファイルサーバー練習する序文Node.js 開発の目的は、JavaS...

Ubuntu の MySQL のパラメータ ファイル my.cnf の詳細な分析

序文MySQL に関する私の理解に基づくと、パフォーマンスの最適化作業やマスター スレーブ レプリケ...

div を下から上にスライドさせる CSS3 の例

1. まず、CSS3 のターゲット セレクターを使用し、a タグを使用して id セレクターを指定し...

CSS3 弾性拡張ボックスの詳細な説明

使用フレキシブル ボックスはフロントエンドの Web ページ レイアウトで重要な役割を果たしますが、...

JavaScriptはクリックするとランダムなグラフィックを生成します

この記事では、クリックするとランダムグラフィックの生成を実現するJavaScriptの具体的なコード...

CSS3 ベジェ曲線の例: リンクホバーアニメーション効果の作成

CSS3 アニメーション トランジションを使用して、リンクの上にマウスを移動すると小さなポップアップ...

Unicodeの一般的な記号

Unicode は、世界中のすべてのテキストと記号に対応できる国際組織によって開発された文字エンコー...

dockerログマウントの問題を解決する

重要なのは、ローカルサーバーに書き込み権限がないことですキーはここにあります(アクセス拒否)。私は肯...

MySQL フィールドで NOT NULL を使用する必要があるのはなぜですか?

私は最近新しい会社に入社したのですが、データベース設計にいくつか小さな問題があることに気付きました。...