MySQL-Zeitzonen: Ein ausführlicher Leitfaden
Frage: Gibt es eine umfassende Liste der verfügbaren MySQL-Zeitzonen?
Antwort: Ja, aber es variiert je nach Host-Betriebssystem. Um auf die Liste zuzugreifen, müssen Sie Zeitzonendaten in MySQL laden.
So laden Sie Zeitzonendaten:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Hinweis: Dieser Befehl ist für Unix-Systeme; das Äquivalent für Windows ist nicht bekannt.
Auflistung der Zeitzonen:
Sobald die Daten geladen sind, können Sie die Liste der Zeitzonen anzeigen:
USE mysql; SELECT * FROM `time_zone_name`;
Ortszeit Calgary:
Um die Zeit in Calgarys Ortszeit anzuzeigen, verwenden Sie die folgende Syntax:
SELECT CONVERT_TZ(CURRENT_TIMESTAMP, 'GMT', 'America/Edmonton');
Zusätzlich Hinweise:
TRUNCATE `time_zone` ; TRUNCATE `time_zone_leap_second` ; TRUNCATE `time_zone_name` ; TRUNCATE `time_zone_transition` ; TRUNCATE `time_zone_transition_type` ;
Automatisierte Zeitzonenaktualisierungen:
Sie können ein automatisiertes System einrichten, um MySQL-Zeitzonen zu aktualisieren, wenn sich die Systemzeitzone ändert.
Für MySQL >= 5.6.6:
mysql_config_editor set --login-path=client --host=localhost --user=root --password
Für MySQL < 5.6.6:
Erstellen Sie eine ~/.my.cnf-Datei mit folgendem Inhalt:
[client] user=root password=yourMysqlRootPW
Fügen Sie dann das folgende Skript zu crontab hinzu, um es täglich auszuführen:
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" fiDenken Sie daran, dass dies größtenteils ungetestet ist. Wenn Sie auf Probleme stoßen, melden Sie diese, um die Antwort entsprechend zu aktualisieren.
Das obige ist der detaillierte Inhalt vonWie kann ich eine umfassende Liste der MySQL-Zeitzonen erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!