MySQL 8.0 のタイムゾーン問題を解決する手順

MySQL 8.0 のタイムゾーン問題を解決する手順

ソフトウェアバージョン

  • ウィンドウズ: ウィンドウズ10
  • MySQL: mysql-8.0.16-winx64.zip

問題の説明

Javaが現在の時刻をMySQLデータベースに保存すると、MySQLの時刻が正しくなくなります

問題分析

理由1: Javaデータベース接続はUTCタイムゾーン(世界時)を使用します。つまり、serverTimezone=UTCです。

URL: jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=true

理由2: MySQLで使用されるtime_zone属性は+00:00であり、北京時間はUTC時間より8時間早い、つまりUTC+08:00です。

MySQLをチェック

/**
 * グローバルタイムゾーン設定とセッションタイムゾーン設定を表示できます * global.time_zone は、Java がデータベースに接続するときのタイムゾーン設定を担当します * session.time_zone は、Navicat クライアントがデータベースに接続するときのタイムゾーン設定を担当します * /
mysql> @@global.time_zone、@@session.time_zone を選択します。

/**
 * 別の方法があります * システムはシステムタイムゾーンの使用を表します * CSTは非常に厄介なタイムゾーンで、4つのタイムゾーンが含まれます * /
mysql> '%time_zone%' のような変数を表示します。 

// タイムゾーンを確認します。このコマンド ラインは、session.time_zone が正しく設定されているかどうかを検出できます。mysql> select now();

回避策

ステップ1: JavaのタイムゾーンをEast 8に変更する

// serverTimezone は北京時間 GMT%、上海時間 Asia/Shanghai、香港時間 Hongkong に設定できます
URL: jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=true

ステップ2: MySQLデータベースのタイムゾーンをEast 8に変更する

// 方法 1: コマンドを使用する (利点: MySQL サービスを再起動する必要がない、欠点: MySQL サービスを再起動すると設定が消える)
mysql> タイムゾーンを '+8:00' に設定します。
mysql> グローバルタイムゾーンを '+8:00' に設定します。
// 方法 2: my.ini 構成ファイルを変更する (利点: 設定を永続的に保存、欠点: MySQL サービスを再起動する必要がある)
[mysqld]
// デフォルトのタイムゾーンを設定します default-time_zone='+8:00'

これで、MySQL 8.0 のタイムゾーン問題を解決する手順に関するこの記事は終了です。MySQL 8.0 のタイムゾーンに関する関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

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

<<:  独自の Docker イメージを作成して Dockerhub にアップロードする方法

>>:  XHTML言語のデフォルトCSSスタイル

推薦する

Reactでパスワード強度検出器を実装する方法

目次序文使用コンポーネントの記述データ構造分析プロセス分析基礎コードの分析他の要約する序文パスワード...

Centos8でdockerがインストールできない問題の解決方法

問題 [root@zh ~]# [root@zh ~]# [root@zh ~]# yum -y d...

LinuxにKafkaをインストールする

目次1.1 前提条件としてのJava環境1.2 Zookeeperのインストールと設定1.3 Kaf...

JSはマップを使用してdouble配列を統合します

目次序文データのシミュレーション結合されたデータ合併のアイデアコードの表示と分析最初のステップステッ...

Vue ElementUI で Excel ファイルを手動でサーバーにアップロードする方法の詳細な説明

目次概要プロパティ設定処理ロジック概要具体的な需要シナリオは次のとおりです。 Excel ファイルを...

HTML のテキストエリアの改行問題の概要

最近、Textrea に転送したときに、データが本当に行ごとに保存できるかどうかという問題に遭遇しま...

JavaScript のショートカットのヒント

目次1. 配列を結合する2. 配列をマージする(最初に) 3. 配列の複製4. 構造化分解割り当て5...

MySQLストアドプロシージャの原理と使用法の詳細な説明

この記事では、例を使用して、MySQL ストアド プロシージャの原理と使用方法を説明します。ご参考ま...

docker cp ファイルをコピーしてコンテナに入る

実行中のコンテナに入る # コンテナに入り、新しいターミナルを開きます# docker exec -...

jwtを使用してノードによって生成されたトークンをどこに保存するかについての簡単な説明

A: 通常はクライアントに保存されます。 jwt または JSON Web Token は、リクエス...

上下に空白行があるフォームを挿入する解決策

ウェブページを作成するときに、フォームを挿入した後、フォームの上下に空白行が表示されることがよくあり...

Vue のプラグインとコンポーネントの違いと使い方のまとめ

このチュートリアルの動作環境: Windows 7 システム、vue 2.9.6 バージョン、DEL...

Linux 構成で MySQL データベースへのリモート接続が失敗する問題の解決方法

今日は、Linux でリモート アクセス用に MySQL データベースを構成する方法について質問があ...

ウェブページ作成によく使われる英語フォント

アリアルArial は、多くの Microsoft アプリケーションとともに配布されるサンセリフ T...