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スタイル

推薦する

Navicat を仮想マシン MySQL に接続する際によくあるエラーと解決策

質問1 解決するサービスを開始します: service mysqld start; /sbin/ip...

CSS フロントエンドの知識ポイントのまとめ(必読)

1. CSS の概念: (カスケーディング スタイル シート)利点: 1. コンテンツとプレゼンテ...

JavaScript配列についてさらに詳しく知るのに役立つ記事

目次1. 配列の役割: 2. 配列の定義: 1. コンストラクタを通じて配列を作成する2. リテラル...

Reactフックの長所と短所

目次序文アドバンテージ:欠点: 1. レスポンシブな使用効果2. ステータスが同期されていないRea...

ティックアニメーション効果を作成するための svg+css または js

以前、上司からログイン後にチェックマークを表示できるプログラムを作るように言われたのですが、Baid...

Linux での fuser コマンドの使用法の詳細な説明

説明する: fuser は、現在ディスク上のファイル、マウント ポイント、さらにはネットワーク ポー...

Docker 起動時の ES メモリ オーバーフローの解決方法

jvm.options ファイルを elasticsearch 構成に追加し、スタック サイズを変更...

パスワードログインなしのLinux構成スタンドアロンおよびフルディストリビューションの詳細なチュートリアル

目次1: 単一マシンのパスワードフリーログイン構成1. 仮想マシンのホスト名を設定する2. 仮想マシ...

JavaScript のアンチシェイクとスロットリングの違いと実装

目次1. 手ぶれ補正2. スロットリング3. まとめ序文:フロントエンド開発者には、次の 2 つの要...

初心者がHTMLタグを学ぶ(3)

HTML に触れる初心者は、いくつかの HTML タグを学びます。関連記事:初心者が学ぶ HTML...

光沢のある輝くウェブサイトデザインの感動的なデザイン例

このコレクションには、あなたのデザインアイデアにインスピレーションを与える、輝いて光沢のある、優れた...

Dockerの一般的なコマンドとヒントのまとめ

インストールスクリプトUbuntu / CentOS Debian のインストールに問題があるようで...

CentOS に Docker をインストールし、Springboot で Docker をリモート公開する方法

目次1. CentOS7.0へのJDK1.8のインストール2. Dockerのインストール3.Doc...

Vue3のいくつかの利点についての簡単な説明

目次1. ソースコード1.1 モノレポ1.2 タイプスクリプト2. パフォーマンス2.1 ソースコー...

フロントエンド HTML+CSS+JS を使用してシンプルな TODOLIST 関数を開発する (メモ帳)

目次1. 簡単な紹介2. スクリーンショットを実行する3. コードの紹介4. まとめ1. 簡単な紹介...