MySQL JDBC ドライバー 5.1.33: タイム ゾーンの不一致への対処
MySQL JDBC ドライバー 5.1.33 へのアップグレード後に発生する一般的な問題は、次のとおりです。認識されないサーバーのタイムゾーン値 (「UTC」) を示すエラー メッセージ。これは、JDBC ドライバーのタイムゾーン サポートが利用されており、サーバーのタイムゾーン値が十分に指定されていない場合に発生します。
原因
この問題の根本原因はデフォルトにあります。 MySQL JDBC ドライバー 5.1.33 のタイムゾーン処理。ドライバーの以前のバージョンではデフォルトのタイムゾーンが想定されていましたが、サーバーのタイムゾーンが明示的に定義されることが期待されます。この変更はタイムゾーンのサポートを強化するために導入されましたが、UTC タイムゾーンを使用する場合は追加の構成が必要です。
解決策
この問題を解決し、MySQL JDBC ドライバー 5.1 に正常に接続するには。 33 UTC タイムゾーンを使用する場合は、serverTimezone パラメーターを接続文字列で明示的に指定する必要があります。このパラメータは、JDBC ドライバにデータベース サーバのタイムゾーンを通知し、タイムスタンプと日付に正しいオフセットが適用されるようにします。
Java アプリケーションでは、このパラメータを次のように接続文字列に追加できます。
jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
serverTimezone パラメーターを UTC として指定すると、JDBC ドライバーはタイム ゾーンの変換と、UTC を使用した MySQL データベースとの通信を正しく処理します。タイムゾーン。
以上がMySQL JDBC Driver 5.1.33 が「サーバー タイムゾーン」エラーをスローするのはなぜですか? それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。