ホームページ  >  記事  >  データベース  >  MySQL でタイムゾーンを効果的に使用するにはどうすればよいですか?

MySQL でタイムゾーンを効果的に使用するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-05 18:46:02195ブラウズ

How Can I Effectively Use Time Zones in MySQL?

MySQL タイム ゾーン

MySQL でのタイム ゾーン サポートについて知りたいですか? MySQL タイム ゾーンを理解し効果的に使用するのに役立つ包括的なガイドを次に示します。

MySQL タイム ゾーンの完全なリスト

デフォルトでは、MySQL にはタイム ゾーン情報が含まれません。タイム ゾーン データを MySQL にロードするには、次のコマンドを実行します。

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

ロードしたら、次のコマンドを実行して利用可能なタイム ゾーンのリストを表示できます。

USE mysql;
SELECT * FROM `time_zone_name`;

Usingタイム ゾーン

タイムスタンプ値のタイム ゾーンを指定するには、 CONVERT_TZ() 関数:

CONVERT_TZ('2012-06-07 12:00:00', 'GMT', 'America/New_York')

タイムスタンプをカルガリーの現地時間に変換します。

タイムゾーン データを自動的にロードします

自動的に更新するにはシステムのタイム ゾーンが変更された場合、MySQL のタイム ゾーンを設定して、パスワードなしで root ログインを許可するようにします。パスワード:

MySQL >= 5.6.6

mysql_config_editor set --login-path=client --host=localhost --user=root --password

MySQL < 5.6.6

~/.my.cnf ファイルを作成します:

user=root
password=yourMysqlRootPW

スクリプトを更新

次のスクリプトを追加しますタイムゾーンを更新するための crontab daily:

#!/bin/bash
if [ `find /usr/share/zoneinfo -mtime -1 | grep -v '\.tab' | wc -l` -gt 0 ]; then
    echo "Updating MySQL timezone info"
    mysql_tzinfo_to_sql /usr/share/zoneinfo 2>/dev/null | mysql -u root mysql
    echo "Done!\n"
fi

追加のヒント

  • タイム ゾーン情報は MySQL で約 5 MB を消費します。
  • タイム ゾーン テーブルの削除は避けてください;代わりに、TRUNCATE を使用してください。

以上がMySQL でタイムゾーンを効果的に使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。