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

推薦する

Vue3 のウォッチの使用方法とベストプラクティスガイド

目次序文🌟 1. APIの紹介2. 複数のデータソースの監視3. リスニングアレイ4. 監視対象5....

JavaScript で同時実行制御を実装する方法

目次1. 同時実行制御の概要1.1 フェーズ1 1.2 フェーズ2 1.3 フェーズ3 2. 同時実...

MySQL データを誤って削除した場合の簡単な解決策 (MySQL フラッシュバック ツール)

概要Binlog2sql は、Python で開発されたオープンソースの MySQL Binlog ...

HTMLフローティングプロンプトボックス機能の実装コード

一般的なフォーム プロンプトは常にフォームのスペースを占有し、フォームが長くなったり広くなったりして...

Vueの監視方法のケースの詳細な説明

Vueでの監視方法時計知らせ名前: 監視する属性に同じ名前を付ける必要があります。 1. 機能Vue...

MySQL のインデックスと制約の例文

外部キーテーブルの主キーがどのテーブルの外部キーであるかを照会する 選択 テーブル名、 列名、 制約...

熟練デザイナーの7つの原則(1):フォントデザイン

まあ、あなたはデザインの達人かもしれませんし、あるいはそれは大げさすぎるかもしれませんが、少なくとも...

ウェブページを最適化してメモリとCPUの使用率を削減

一部の Web ページは大きく見えなくても開くのに非常に時間がかかる場合があります。一方、他の We...

HTML pre タグ内の自動改行

このとき、overflow:auto;(コードがコンテナの境界を超えたときにスクロールボックスを表示...

複数のフィールドを変更するためのMysql更新の構文の詳細な分析

MySQL でレコードを更新すると、構文は正しいのですが、レコードが更新されません...質問文実行前...

MySQL はどのようにしてデータベースの削除と暴走を効果的に防ぐことができますか?

目次セーフモード設定テスト1. where句なしで更新および削除する2. 非インデックスキーの削除3...

JS配列の一般的な方法とテクニックを学び、マスターになりましょう

目次splice() メソッドjoin() メソッド逆() メソッドevery() メソッド削減()...

JavaScript 配列メソッド - 体系的な概要と詳細な説明

目次一般的な配列メソッド配列要素の追加と削除配列ヘッダーの操作配列の末尾を操作する任意の場所に追加ま...

MySQL Innodb インデックス メカニズムの詳細な紹介

1. インデックスとは何ですか?インデックスは、ストレージ エンジンがレコードをすばやく検索するため...

Nginx proxy_redirect の使用方法の詳細な説明

今日、Apache の nginx リバース プロキシを実行していたときに、ちょっとした問題に遭遇し...