如何管理 MySQL 中的時區?

DDD
發布: 2024-11-06 20:15:03
原創
267 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板