MySQLのタイムゾーンを設定するにはどうすればよいですか?
ローカルタイムゾーンは、サーバーのMySQLタイムゾーンとは異なる場合があります。そのため、データベース内のデータの解釈が非常に困難になります。理想的には、データをより効率的に処理するために、MySQLのタイムゾーンは自分のタイムゾーンと同じである必要があります。
このガイドは、MySQLサーバーのタイムゾーンを変更するのに役立ちます サーバーログやその他のデータをより簡単かつ直感的に読み取ることができます。
前提条件
- rootまたはsudo権限を持つユーザーアカウント
- MySQLを実行しているLinuxサーバー
- MySQLデータベースのrootユーザーアカウント
- ターミナルウィンドウ/コマンドライン(Ctrl-Alt-T、検索>ターミナル)
- サーバーへのSSH接続(リモートで作業している場合)
現在のMySQLタイムゾーンを検索
ターミナルウィンドウを開きます。リモートで作業している場合は、rootを使用してSSH経由でサーバーに接続します。
次のように入力して、MySQLの現在のグローバルタイムゾーンを確認します。
sudo mysql –e “SELECT @@global.time_zone;”
デフォルトでは、システムは SYSTEMの値を表示します あなたのタイムゾーンのために。これは、MySQLのタイムゾーンがサーバーのタイムゾーンと同期していることを示しています。
サーバーからのタイムスタンプを表示するには、次のように入力します。
date
システムは、サーバーの日付、時刻、およびタイムゾーンを表示する必要があります。たとえば、
Tue Jan 21 11:33:35 MST 2020
タイムゾーンは文字コードで示されます。この場合、山岳部標準時(MST)に設定されています。
MySQLサーバーからのタイムスタンプを表示します:
sudo mysql –e “SELECT NOW();”
システムはMySQLで現在の時刻を表示する必要があります。
MySQLでのタイムゾーンの変更
オプション1:SETGLOBALtime_zoneコマンドを使用する
このオプションを使用して、サーバーのグローバルMySQLタイムゾーンの新しいGMT値を設定します。
sudo mysql -e "SET GLOBAL time_zone = ‘-6:00’;"
-6:00
の代わりに 、希望するGMT値を入力します。正しく実行された場合、応答出力はありません。
サーバーのMySQLタイムゾーン設定の新しい値を確認してください:
sudo mysql -e "SELECT @@global.time_zone;"
タイムゾーンを変更すると、以前に保存された日時とタイムスタンプは更新されません。
オプション2:MySQL構成ファイルを編集する
MySQLの設定は、メインの my.cnfを編集することで変更できます。 構成ファイル。編集用にファイルを開きます:
sudo nano /etc/mysql/my.cnf
[mysqld]
まで下にスクロールします セクションをクリックして、 default-time-zone = "+00:00"
を見つけます。 ライン。 +00:00
を変更します 必要なタイムゾーンのGMT値に値を設定します。ファイルを保存して終了します。
以下の例では、MySQLサーバーのタイムゾーンを設定します 〜 +08:00
(GMT +8)。
MySQLサーバーを再起動して、変更を適用します。
sudo service mysql restart
タイムゾーンと現在の時刻をもう一度確認してください:
sudo mysql –e “SELECT @@global.time_zone;”
sudo mysql –e “SELECT NOW();”