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