Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQLSTATE[HY000]:Allgemeiner Fehler:1298 Unbekannte oder falsche Zeitzone:„UTC“-Fenster

Sie haben drei Möglichkeiten, dieses Problem zu lösen.

Die mysql_tzinfo_to_sql Programm lädt die Zeitzonentabellen in die MySQL-Datenbank. Es wird auf Systemen verwendet, die eine zoneinfo-Datenbank haben (der Satz von Dateien, die Zeitzonen beschreiben). Beispiele für solche Systeme sind Linux, FreeBSD, Solaris und OS X. Ein wahrscheinlicher Speicherort für diese Dateien ist das Verzeichnis /usr/share/zoneinfo (/usr/share/lib/zoneinfo unter Solaris). Wenn Ihr System keine zoneinfo-Datenbank hat, können Sie das herunterladbare Paket verwenden, das in Abschnitt 11.6, „MySQL Server Time Zone Support“ beschrieben ist.

mysql_tzinfo_to_sql kann auf verschiedene Arten aufgerufen werden:

shell> mysql_tzinfo_to_sql tz_dir
shell> mysql_tzinfo_to_sql tz_file tz_name
shell> mysql_tzinfo_to_sql --leap tz_file

Übergeben Sie für die erste Aufrufsyntax den Pfadnamen des zoneinfo-Verzeichnisses an mysql_tzinfo_to_sql und senden Sie die Ausgabe an mysql Programm. Zum Beispiel:

shell> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql

mysql_tzinfo_to_sql liest die Zeitzonendateien Ihres Systems und generiert daraus SQL-Anweisungen. mysql verarbeitet diese Anweisungen, um die Zeitzonentabellen zu laden.

Die zweite Syntax bewirkt mysql_tzinfo_to_sql um eine einzelne Zeitzonendatei tz_file zu laden das entspricht einem Zeitzonennamen tz_name:

shell> mysql_tzinfo_to_sql tz_file tz_name | mysql -u root mysql

Wenn Ihre Zeitzone Schaltsekunden berücksichtigen muss, rufen Sie mysql_tzinfo_to_sql auf Verwenden der dritten Syntax, die die Schaltsekundeninformationen initialisiert. tz_file ist der Name Ihrer Zeitzonendatei:

shell> mysql_tzinfo_to_sql --leap tz_file | mysql -u root mysql

Nach dem Ausführen von mysql_tzinfo_to_sql , ist es am besten, den Server neu zu starten, damit er keine zuvor zwischengespeicherten Zeitzonendaten mehr verwendet.

Quelle:https://dev.mysql .com/doc/refman/5.7/en/mysql-tzinfo-to-sql.html

default-time-zone = +0:00
# default-time-zone = UTC

Dadurch erbt es stattdessen die Zeitzone vom Betriebssystem.