Heim  >  Artikel  >  Datenbank  >  Wie verwalte ich Zeitzonen in MySQL?

Wie verwalte ich Zeitzonen in MySQL?

DDD
DDDOriginal
2024-11-06 20:15:03194Durchsuche

How do I manage time zones in MySQL?

MySQL-Zeitzonen

MySQL unterstützt eine umfassende Liste von Zeitzonen, sodass Entwickler Datums- und Zeitdaten präzise verwalten und bearbeiten können. Die Verfügbarkeit von Zeitzonen in den MySQL-Einstellungen hängt vom zugrunde liegenden Host-Betriebssystem ab, es gibt jedoch Methoden zum Laden von Zeitzoneninformationen und zum Zugriff auf eine vollständige Liste.

Um die Ortszeit für eine bestimmte Region wie Calgary festzulegen, Administratoren können Zeitzonendaten mit dem folgenden Befehl aus dem System laden:

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

Nach dem Laden kann eine Liste der verfügbaren Zeitzonen angezeigt werden, indem sie Folgendes ausführen:

USE mysql;
SELECT * FROM `time_zone_name`;

Dies wird angezeigt eine umfassende Liste aller im System erkannten Zeitzonen.

Beim Umgang mit Zeitzonen in MySQL ist es wichtig zu beachten, dass Zeitzoneninformationen etwa 5 MB Datenbankspeicher beanspruchen. Um Zeitzonendaten zu entladen, führen Sie die folgenden Befehle aus und starten Sie MySQL neu:

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

Das Löschen dieser Tabellen sollte vermieden werden, da dies zu Problemen führen kann.

Stellen Sie bei automatischen Zeitzonenaktualisierungen sicher, dass Root-Login ist ohne Passwortabfrage möglich. Führen Sie in MySQL-Versionen 5.6.6 und höher Folgendes aus:

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

Erstellen Sie für Versionen vor 5.6.6 eine ~/.my.cnf-Datei und fügen Sie Folgendes ein:

[client]
user=root
password=yourMysqlRootPW

Ändern Sie Dateiberechtigungen, um den Datenschutz zu gewährleisten. Für tägliche Zeitzonenaktualisierungen kann ein Crontab-Skript hinzugefügt werden:

#!/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

Durch die Implementierung dieser Techniken können Entwickler Zeitzonen in MySQL effektiv verwalten und eine genaue Datums- und Uhrzeitverarbeitung in ihren Anwendungen sicherstellen.

Das obige ist der detaillierte Inhalt vonWie verwalte ich Zeitzonen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn