この記事では、MySQLのタイムゾーンを変更する方法について説明します。 データベースに保存されているデータがデフォルトで指定したタイムゾーンを使用するように、サーバー上で使用します。
多くの場合、ローカルタイムゾーンはMySQLサーバーのタイムゾーンとは異なります。これにより、データベース内のデータの操作がより困難になる可能性があります。次の手順を使用して、MySQLサーバーのタイムゾーンを更新して、自分のタイムゾーンと一致させ、このデータの操作を容易にすることができます。
この変更には、VPS(仮想プライベートサーバー)または専用サーバーホスティングプランへのルートアクセスが必要です。または、サポート部門に連絡して、サーバーでこれを変更することもできます。また、ルートアクセスを必要とせず、共有サーバーで実行できるMySQL時間を変換する方法を知っている必要がある場合もあります。
MySQLでのタイムゾーンの変更
- rootユーザーとしてSSH経由でサーバーにログインします。
- コンソールから次のコマンドを使用して、MySQLの現在のタイムゾーン設定を表示できます。
mysql -e "SELECT @@global.time_zone;"
デフォルトでは、次のようなものが返されます。+--------------------+ | @@global.time_zone | +--------------------+ | SYSTEM | +--------------------+
これは、デフォルトでMySQLタイムゾーンがサーバーのデフォルトのシステムに設定されるためです。 時間。サーバー全体のタイムゾーンを変更する場合は、WHMでタイムゾーンを設定することでこれを実現できます。 - サーバーのシステムを確認できます 次のコマンドを使用したタイムスタンプ:
date
これは恩返しになります:Mon Nov 26 12:50:07 EST 2012
- 次のコマンドを使用して、MySQLサーバーによって報告された現在のタイムスタンプを確認できます。
mysql -e "SELECT NOW();"
これにより、現在のタイムスタンプが返されます。+---------------------+ | NOW() | +---------------------+ | 2012-11-26 12:50:15 | +---------------------+
- これで、お気に入りのテキストエディタを使用してMySQL構成ファイルを編集できます:
vi /etc/my.cnf
次に、次の行を追加してESTから変更します( GMT -5:00 )からCST( GMT -6:00 ):default-time-zone = '-06:00'
次に、 /etc/my.cnfを保存します 新しいデフォルトのファイル。
- 変更をアクティブにするには、次のコマンドを使用してMySQLサービスを再起動します。
service mysql restart
- コマンド
mysql -e "SELECT @@global.time_zone;"
を使用して、グローバルタイムゾーン設定を再度確認しようとすると、 これで、新しいデフォルトに戻るはずです。+--------------------+ | @@global.time_zone | +--------------------+ | -06:00 | +--------------------+
- NOW()も表示されます。 関数も更新されました:
mysql -e "SELECT NOW();"
これにより、現在のタイムスタンプが返されます。+---------------------+ | NOW() | +---------------------+ | 2012-11-26 11:50:15 | +---------------------+
これで、MySQLサーバーのタイムゾーン設定を更新して、データベースに保存されているデータを簡単に操作できるようにする方法を理解する必要があります。 GMT -6:00の代わりに名前付きタイムゾーンを使用することもできます 形式ですが、これには最初にタイムゾーンテーブルを mysqlにロードする必要があります データベース。これに関する詳細は、mysql_tzinfo_to_sqlおよびタイムゾーンテーブルのロードに関するMySQLサイトにあります。