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

MySQL でタイムゾーンを管理するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-06 20:15:03269ブラウズ

How do I manage time zones in MySQL?

MySQL タイム ゾーン

MySQL はタイム ゾーンの包括的なリストをサポートしており、開発者が日付と時刻のデータを正確に管理および操作できるようにします。 MySQL 設定でタイム ゾーンを利用できるかどうかは、基盤となるホスト オペレーティング システムによって異なりますが、タイム ゾーン情報をロードして完全なリストにアクセスする方法があります。

カルガリーなどの特定の地域の現地時間を確立するには、管理者は、次のコマンドを使用してシステムからタイム ゾーン データをロードできます:

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

ロード後、次のコマンドを実行すると、利用可能なタイム ゾーンのリストが表示されます:

USE mysql;
SELECT * FROM `time_zone_name`;

これにより、次のコマンドが表示されます。システム内で認識されているすべてのタイム ゾーンの包括的なリスト。

MySQL でタイム ゾーンを扱う場合、タイム ゾーン情報は約 5 MB のデータベース スペースを消費することに注意することが重要です。タイム ゾーン データをアンロードするには、次のコマンドを実行して MySQL を再起動します。

TRUNCATE `time_zone` ;
TRUNCATE `time_zone_leap_second` ;
TRUNCATE `time_zone_name` ;
TRUNCATE `time_zone_transition` ;
TRUNCATE `time_zone_transition_type` ;

問題が発生する可能性があるため、これらのテーブルの削除は避けてください。

タイム ゾーンの自動更新の場合は、次のことを確認してください。 root ログインは、パスワード プロンプトなしで許可されます。 MySQL バージョン 5.6.6 以降では、次を実行します:

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

5.6.6 より前のバージョンの場合、~/.my.cnf ファイルを作成し、次の内容を含めます:

[client]
user=root
password=yourMysqlRootPW

ファイルのアクセス許可を変更してプライバシーを確​​保します。毎日のタイム ゾーン更新のために crontab スクリプトを追加できます。

#!/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 でタイム ゾーンを効果的に管理し、アプリケーションでの正確な日付と時刻の処理を保証できます。

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

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