MySQLのタイムゾーンを表示および設定する方法

MySQLのタイムゾーンを表示および設定する方法

1. データベースのタイムゾーンを確認する

'%time_zone' のような変数を表示します。
mysql> "%time_zone"のような変数を表示します。
+------------------+--------+
| 変数名 | 値 |
+------------------+--------+
| システムタイムゾーン | CEST |
| タイムゾーン | システム |
+------------------+--------+

1. グローバルパラメータ system_time_zone

システム タイム ゾーン。MySQL が起動すると、現在のシステム タイム ゾーンがチェックされ、システム タイム ゾーンに応じてグローバル パラメータ system_time_zone の値が設定されます。

system_time_zoneの値は現在のシステムによって異なります。このテストでは、システム時間はCESTなので、値はCESTです。
現在のオペレーティングシステムのタイムゾーンを確認する

## date コマンドを使用する date +"%Z %z" // 現在のオペレーティング システムのタイム ゾーンを表示する date -R
[vagrant@localhost ~]$ 日付 -R
2020年6月17日水曜日 10:48:14 +0200
[vagrant@localhost ~]$ 日付 +"%Z %z"
中央ヨーロッパ夏時間 +0200

CESTは、MySQLが起動されたときにシステム時間がCESTであることを意味します。

CEST は中央ヨーロッパ夏時間で、英語の正式名称は Central European Summer Time です。

中央ヨーロッパ夏時間はUTC/GMT +2です

2. グローバルパラメータtime_zone

各接続セッションのタイムゾーンを設定するために使用されます。デフォルトが system の場合、グローバル パラメータ system_time_zone の値が使用されます。変更する必要があるのはtime_zoneの値です

SYSTEM は、time_zone がデフォルトで system_time_zone タイムゾーン (ここでは CEST) を使用することを意味します。

私の個人的な考えとしては、default-time_zone は my.cnf でデフォルトで設定されていないため、time_zone は system_time_zone の値である system にデフォルト設定されるということです。
system_time_zone の値は MySQL 起動時の OS のタイムゾーンなので、OS のタイムゾーンをあらかじめ設定しておくことで MySQL のタイムゾーンを判別できるのではないかと個人的には思っています。

2. データベースのタイムゾーンを設定する

1. MySQL コマンドラインモードで動的に変更します。この変更は、現在の MySQL 起動状態でのみ有効です。MySQL を再起動すると、my.ini の設定状態に復元されます。

グローバルタイムゾーンを '+8:00' に設定します。
権限のフラッシュ;

次のようにして、mysql のタイム ゾーン設定を確認します (mysql を終了して再度ログインする必要があります。そうしないと、time_zone の結果が変更せず、SYSTEM のままになる可能性があります)。

mysql> "%time_zone"のような変数を表示します。
+------------------+--------+
| 変数名 | 値 |
+------------------+--------+
| システムタイムゾーン | CEST |
| タイムゾーン | +08:00 |
+------------------+--------+

2. 設定ファイルを変更してタイムゾーンを変更します。この変更は永続的であり、MySQL を再起動しても有効になります。

Windows システムの設定ファイルは my.ini です。 Linuxシステムの設定ファイルは/etc/my.cnfです。

[mysqld]の下に次の内容を追加または変更します。

デフォルトのタイムゾーン = '+8:00'

設定ファイルを変更した後、MySQL サーバーを再起動する必要があります。

Linuxシステムでのサーバー再起動コマンドは次のとおりです。

systemctl で mysqld.service を再起動します。

my.cnfの変更内容は次のとおりです。

# 設定の変更方法については、
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[mysqld]
#
# 先頭の # を削除し、最も重要なデータの RAM の量を設定します
# MySQL のキャッシュ。専用サーバーの場合は合計 RAM の 70% から開始し、それ以外の場合は 10% から開始します。
# innodb_buffer_pool_size = 128M
#
# 先頭の # を削除して、非常に重要なデータ整合性オプションであるログ記録をオンにします。
# バックアップ間のバイナリ ログへの変更。
# ログビン
#
# 先頭の # を削除して、主にレポート サーバーに役立つオプションを設定します。
# サーバーのデフォルトは、トランザクションと高速 SELECT に対して高速です。
# 必要に応じてサイズを調整し、最適な値を見つけるために実験してください。
# 結合バッファサイズ = 128M
# ソートバッファサイズ = 2M
# read_rnd_buffer_size = 2M
データディレクトリ=/var/lib/mysql
ソケット=/var/lib/mysql/mysql.sock
デフォルトのタイムゾーン = '+9:00'

# さまざまなセキュリティリスクを防ぐために、シンボリックリンクを無効にすることをお勧めします
シンボリックリンク=0

# 標準のMySQLセットアップで推奨
sql_mode=NO_ENGINE_SUBSTITUTION、STRICT_TRANS_TABLES

[mysqld_safe]
ログエラー=/var/log/mysqld.log
pidファイル=/var/run/mysqld/mysqld.pid

これで、MySQL のタイムゾーンの表示と設定方法についての記事は終了です。MySQL のタイムゾーンの表示と設定方法についての詳細は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL でタイムゾーンを表示および変更する方法

<<:  40以上の美しいWebフォームデザイン例

>>:  CSS を使用してサブ要素に応じて異なるスタイルを記述する方法

推薦する

サーバーから返される14の一般的なHTTPステータスコードの詳細な説明

HTTP ステータス コードステータス コードは 3 桁の数字と理由フレーズ (最も一般的なもの: ...

vscode を使用したリモート Linux 開発の実装

過去に別れを告げるvscode にリモート SSH が導入される前は、Linux サーバー開発者の多...

mysql5.6 以前のデータベースで json をクエリする方法

MySQLにデータを保存するとき、乱雑であまり使用されないデータがJSONフィールドに投げ込まれるこ...

Linux の traceroute コマンドの使用方法の詳細な説明

Traceroute を使用すると、情報がコンピュータからインターネットの反対側のホストまでたどるパ...

Linux ドメイン ネーム サービス DNS 設定方法

DNSとはDNS の正式名称は Domain Name System で、ドメイン名解決システムを意...

ページ内の検索エンジンの呼び出しはBaiduを例に挙げています

今日、突然、自分のウェブページで Google や Baidu のような強力な検索エンジンを呼び出す...

SpringbootはDockerデプロイメントを統合し、Dockerイメージを構築する2つの方法を実装します。

Docker は、あらゆるアプリケーション用の軽量でポータブルな自己完結型コンテナーを簡単に作成で...

Navicat 接続 MySQL エラーの説明分析

目次環境仮想マシンバージョンMySQL バージョン事前準備MySQLの実行ステータスを確認するルート...

Linux で SSH サーバー エイリアスを作成する 2 つの方法

序文SSH 経由でさまざまなリモート システムに頻繁にアクセスする場合は、このトリックを使用すると時...

JavaScript で charAt() を使用して、最も頻繁に出現する文字とその出現回数をカウントする方法を教えます。

前回は、JavaScript の charAt() メソッドの使い方を紹介しました。今日は、最も多く...

Linux でタイムアウト付きの接続関数を試す

前回の記事では、Windows でタイムアウトを試してみました。この記事では、Linux で試してみ...

Vue で円形プログレスバーを実装する例

データ表示は、常にあらゆる職業の人々が求めているものです。特にフロントエンド開発業界では、データを表...

MySQL 5.7 スレーブノードからマルチスレッド マスター スレーブ レプリケーションを構成する方法の詳細な説明

序文MySQL は MySQL 5.6 からマルチスレッド レプリケーションをサポートしていますが、...

dockerを使用してGrafana+Prometheus構成をデプロイする

docker-compose-monitor.yml バージョン: '2' ネットワ...