MySQL で URL タイムゾーンの罠を回避する方法

MySQL で URL タイムゾーンの罠を回避する方法

序文

最近、MySQL 6.0.x 以降の jar を使用する場合、コード URL リンクで serverTimezone を指定する必要があります。例外が発生します:

1. serverTimezoneが指定されていません

xmlでURLを設定する

<プロパティ名="url" 値="jdbc:mysql://localhost:3306/mybatisstudy"/>

異常

原因: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: サーバーのタイム ゾーン値 '�й���׼ʱ��' は認識されないか、複数のタイム ゾーンを表します。タイム ゾーン サポートを利用する場合は、サーバーまたは JDBC ドライバー (serverTimezone 構成プロパティ経由) を構成して、より具体的なタイム ゾーン値を使用する必要があります。

タイム ゾーン サポートを使用する場合は、より詳細なタイム ゾーン値を使用するようにサーバーまたは JDBC ドライバー (serverTimezone 構成プロパティ経由) を構成する必要があります。

2. オンラインソリューション

URLの後にパラメータ?serverTimezone=utcを追加します

<プロパティ名="url" 値="jdbc:mysql://localhost:3306/springdatastudy?serverTimezone=UTC"/>

2.1. 遭遇した問題

上記のタイムゾーン プログラムを追加する際にはエラーは発生しませんが、Java コードを使用してデータベースに時間を挿入する際に問題が発生します。

たとえば、Java コードに挿入される時刻は次のようになります: 2017-08-21 17:29:56

しかし、データベースに表示される時刻は、2017-08-21 09:29:56です。

3. 根本原因

タイムゾーン設定の問題のためです。

UTC は協定世界時の略ですが、ここで使用する時間は北京タイムゾーンの East 8 で、UTC より 8 時間進んでいます。

UTC + (+0800) = 現地時間(北京)

4. 解決策

URL のタイムゾーンは中国標準時を使用します。つまり、 serverTimezone=Asia/Shanghai

4.1 Javaコードを使用してローカルタイムゾーンIDを取得する

カレンダー cal = Calendar.getInstance();
タイムゾーン timeZone = cal.getTimeZone();
System.out.println(timeZone.getID());
System.out.println(timeZone.getDisplayName());
アジア/上海
中国標準時

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。

以下もご興味があるかもしれません:
  • Docker の MySQL コンテナのタイムゾーン問題の修正
  • Java における MySQL タイムゾーン問題の詳細な説明
  • MySQL でタイムゾーンを表示および変更する方法
  • MySQL のタイムスタンプの種類とタイムゾーンの例の詳細な説明
  • MySQL タイムゾーンを変更する方法の概要
  • MySQL クエリ時に文字列の大文字と小文字を区別する方法
  • mysql タイムゾーンの問題
  • PHP と MySQL のタイムゾーンの簡単な概要
  • mysqlはタイムゾーン関連の問題を解決します

<<:  CocosCreatorを使ってシューティングゲームを作る方法

>>:  React は入力値を取得し、2 つのメソッドの例を送信します

推薦する

CSS で写真のスタッキング効果を実装するサンプルコード

成果を達成するステップ1. 初期index.html最初の写真、一番上の写真を作成します。写真の i...

Linux のタイムドログ削除を実装する簡単な方法

導入Linux は、ファイル、ログ、電子メール、バックアップなどを自動的に生成できるシステムです。ハ...

JavaScript におけるシリアル操作と並列操作

目次1. はじめに2. es5メソッド3. 非同期関数のシリアル実行4. 非同期関数の並列実行5. ...

Docker インストール tomcat dubbo-admin インスタンス スキル

1. tomcatイメージをダウンロードする docker pull tomcat:8.5.29 2...

ウェブデザインの詳細分析に関する詳細な議論

設計業務では、設計者がレビューに参加したり、リーダーの一部が設計案の詳細が足りないと言っているのをよ...

フォーム送信の更新ページはソースコード設計にジャンプしません

1. ソースコードの設計コードをコピーコードは次のとおりです。 <!DOCTYPE html ...

ファイル共有サーバーを構築するための samba + OPENldap の詳細な説明

ここでは、samba (ファイル共有サービス) v4.9.1 + OPENldap (バックエンド ...

HTMLフレームワーク_Powernode Javaアカデミー

1. フレームワークブラウザのドキュメント ウィンドウには 1 つの Web ページ ファイルしか表...

IdeaはリモートDockerをデプロイし、ファイルを構成する

1. LinuxサーバーのDocker構成ファイルを変更する vim /usr/lib/system...

MySQL 5.x の文字化け問題の解決方法

MySQL はよく使われるオープンソースのデータベース ソフトウェアですが、初めてのユーザーにはあま...

Mysql のデッドロックの表示とデッドロックの除去の詳細な説明

序文しばらく前にMysqlのデッドロック問題に遭遇したので、解決しました。問題の説明: Mysql ...

mysql の追加、削除、変更、クエリの基本ステートメント

文法以下は、MySQL テーブルにデータを挿入するための INSERT INTO コマンドの一般的な...

Web データ ストレージ: Cookie、UserData、SessionStorage、WebSqlDatabase

クッキーこれはクライアント ブラウザの状態を保存するための標準的な方法です。Cookie はブラウザ...

JavaScript の数値および数学オブジェクトの概要

目次1. JavaScript における数値2. Javascript の Math オブジェクト1...