序文エラーは次のとおりです:
このタイプのエラーについては、説明を参照してください。一言で言えば、「JDBC ドライバーが例外をスローしたため、データベースに接続できませんでした。」 1. コードによって設定されたデータベース名またはパスワードがローカルデータベースと一致していません1.1. エラーの説明最初の、そして最も一般的なエラーは、コードによって構成されたデータベース名またはパスワードがローカル データベースと一致しておらず、例外がスローされることです。 上図に示すように、設定ファイルでは、先頭の name 属性はデフォルトであり、変更する必要はありません。ユーザー名は通常、root です。データベース管理ソフトウェアを通じてローカル設定を直接表示できます。データベース パスワードは、ユーザーが設定します。 1.2 解決策設定ファイルの名前とパスワードを変更します。 2. インポートされた非ローカルプロジェクトファイルがローカルデータベースのバージョンと一致しない2.1. エラーの説明2 番目によくあるエラー: IDE (Eclipse など) を使用してインポートされた非ローカル プロジェクト ファイルが、ローカル データベースのバージョンと一致しません。 たとえば、Eclipse プロジェクトにインポートする jar パッケージはバージョン 8.0 に依存しますが、ローカルにインストールした MySQL データベースはバージョン 5.0 なので、当然エラーが発生します。 2.2 解決策インポートしたプロジェクトで参照ライブラリを見つけ、右クリック → ビルド パス → ビルド パスの構成... を選択します。プロジェクトが依存する 8.0 MySQL ドライバーを削除し、ローカルにインストールした 5.0 バージョンを追加します。 3. MySQL 構成の上位バージョンでドライバー パッケージをロードする際にエラーが発生しました (MySQL 8.0 を例に挙げます)このエラーは、MySQL バージョンの更新後にドライバー パッケージが変更されたために発生します。新しいドライバー クラスは com.mysql.cj.jdbc.Driver です。 3.1. エラーの説明エラーは次のとおりです:
エラーの説明: ドライバー クラス 'com.mysql.jdbc.Driver' は非推奨です。新しいドライバー クラスは 'com.mysql.cj.jdbc.Driver' です。ドライバーは SPI 経由で自動的に登録されるため、通常はドライバー クラスを手動でロードする必要はありません。 3.2 解決策MySQL データベース 5.0 で使用されるドライバー クラス com.mysql.jdbc.Driver を com.mysql.cj.jdbc.Driver に変更します。ドライバーは SPI を通じて自動的に登録されるため、通常はドライバー クラスを手動でロードする必要はありません。変更された構成ファイルを次の図に示します。 <!-- データベース ドライバーをロードします --> <プロパティ名="driverClass" 値="com.mysql.cj.jdbc.Driver"></プロパティ> 3.3. MySQLの異なるバージョンのドライバクラスを表示する方法MySQL ドライバー クラスの場合、各バージョンを確認するときに、ドライバー jar パッケージをクリックして、ドライバーが配置されている場所を直接確認できます。たとえば、次の図に示すように、8.0 バージョンは com.mysql.cj.jdbc.Driver です。 4. データベース接続文字列の高バージョン構成エラー(タイムゾーンの問題)注意: MySQL バージョン 6.0 以降ではタイム ゾーンを設定する必要があります。 4.1. エラーの説明エラーは次のとおりです:
4.2 解決策より具体的なタイム ゾーン値を使用するようにサーバーまたは JDBC ドライバー (serverTimezone 構成プロパティ経由) を構成することにより、タイム ゾーン サポートを活用できます。 設定ファイルは次のとおりです。 <!-- データベース接続文字列 --> <プロパティ名="jdbcUrl" 値="jdbc:mysql://localhost:3306/demo?serverTimezone=GMT%2B8&characterEncoding=utf-8"></プロパティ> 5. データベースへのデータの書き込みに 8 時間の差があるのはなぜですか?5.1. エラーの説明Java データベース接続では、UTC タイムゾーン (協定世界時) が使用されます (serverTimezone=UTC)。北京時間は UTC 時間より 8 時間早い (UTC+08:00) です。serverTimezone=UTC を直接使用すると、データベースに書き込まれるデータは 8 時間進みます。次の構成を使用すると、データベースに書き込まれるデータは 8 時間間隔になります。 <!-- データベース接続文字列 --> <プロパティ名="jdbcUrl" 値="jdbc:mysql://localhost:3306/demo?serverTimezone=UTC&characterEncoding=utf-8"></プロパティ> 5.2 解決策サーバーのタイムゾーンを北京時間 GMT%、上海時間 Asia/Shanghai、または香港時間 Hongkong に変更できます。 設定ファイルは次のとおりです。 <!-- データベース接続文字列 --> <プロパティ名="jdbcUrl" 値="jdbc:mysql://localhost:3306/demo?serverTimezone=GMT%2B8&characterEncoding=utf-8"></プロパティ> また、MySQL の my.ini 設定ファイルも変更できます。この記事は、該当する問題を解決するためだけに使用されているため、詳細には説明しません。 6. SSL接続の問題6.1. エラーの説明エラーは次のとおりです:
エラーの説明: サーバー認証なしで SSL 接続を確立することは推奨されません。 MySQL 5.5.45+、5.6.26+、および 5.7.6+ の SSL 接続要件によれば、接続モードが設定されていない場合は、デフォルトで SSL 接続を確立する必要があります。 SSL を使用しない既存のアプリケーションの場合、サーバーの verify-certificate プロパティは「false」に設定されます。 useSSL=false を設定して SSL を明示的に無効にするか、useSSL=true を設定してサーバーの検証済み証明書を提供する必要があります。 6.2 解決策
設定ファイルは次のとおりです。 <!-- データベース接続文字列 --> <プロパティ名="jdbcUrl" 値="jdbc:mysql://localhost:3306/demo?useSSL=false&serverTimezone=GMT%2B8&characterEncoding=utf-8"></プロパティ> 要約するMySQL 例外に対する一般的な解決策をいくつかまとめることで、基礎となる MySQL の理解を深めることができます。開発をしている限り、ミスは絶えず起こるので、まとめるのが上手でなければなりません。同時に、開発の基本原則を完全に理解し、開発者としてさまざまなバージョンの反復に遅れずについていく必要があります。そうしないと、技術の発展に追いつくことはできません。 上記は、MySQL 例外に対するいくつかの一般的な解決策の詳細な分析です。MySQL 例外の解決策の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Nginx は高可用性クラスタ構築を実装します (Keepalived+Haproxy+Nginx)
>>: モバイルアダプティブスタイルで@mediaを使用する方法
この記事では、参考のために、WeChatアプレットのチャットルームを実装するための具体的なコードを例...
MySQL 8.0.25解凍版のインストールチュートリアル、参考までに具体的な内容は以下のとおりです...
著者が MySQL を使用してユーザーを追加していたところ、ユーザー名が間違って記述されていることに...
目次1. 配列を宣言して初期化する2. 合計、最小値、最大値を計算する3. 文字列、数値、オブジェク...
この記事では、GobangゲームのWebバージョンを実装するためのJavaScriptの具体的なコー...
目次マクスウェルについてMaxwellの設定と使用1. Maxwellインストールパッケージをダウン...
序文:最近、インスタンスの移行の問題に遭遇しました。データの移行後、データベースのユーザーと権限も移...
目次1. サービスの開始と停止の手順1.1 Windows での MySQL 5.7 の公式 MSI...
JavaScript には、for、for in、for of、forEach ループなど、多くのル...
目次序文いくつかの一般的なビット操作ビットAND (&)ビットOR (|)ビット否定(~)マ...
MySQL 論理アーキテクチャの概要他のデータベースと比較すると、MySQL は、そのアーキテクチャ...
現在、ほぼすべての大規模な Web サイトとアプリケーションは分散方式で展開されています。分散シナリ...
目次シナリオ分析発達要約するシナリオ分析システムでは、1 つのモジュールに 3 つのサブモジュールが...
JavaScriptをクリックすると画像の形状が変わります(変形の応用)。参考までに具体的な内容は...
最初のもの:コードをコピーコードは次のとおりです。 <html> <ヘッド>...