Beim MySQL-Server gibt es mehrere verschiedene Zeitzoneneinstellungen:
            Die Systemzeitzone. Wenn der Server startet, versucht er die
            Zeitzone des Hostcomputers zu ermitteln und weist diesen
            Wert dann der Systemvariable
            system_time_zone zu. Der Wert wird
            nachfolgend nicht mehr geändert.
          
            Die aktuelle Zeitzone des Servers. Die globale
            Systemvariable time_zone gibt die
            Zeitzone an, in der der Server derzeit läuft. Der Startwert
            für time_zone ist
            'SYSTEM', d. h. die Serverzeitzone ist
            mit der Systemzeitzone identisch. Der Ausgangswert lässt
            sich mit der Option
            --default-time-zone=
            auch ausdrücklich festlegen. Wenn Sie die Berechtigung
            timezoneSUPER haben, können Sie den globalen
            Wert mit folgender Anweisung zur Laufzeit ändern:
          
mysql> SET GLOBAL time_zone = timezone;
            Verbindungsspezifische Zeitzonen. Jeder Client, der eine
            Verbindung herstellt, hat eine eigene Zeitzoneneinstellung,
            die von der Sitzungsvariablen time_zone
            vorgegeben wird. Standardmäßig erhält die
            Sitzungsvariable den Wert von der globalen Variable
            time_zone, der Client kann seine Zeitzone
            aber mit folgender Anweisung ändern:
          
mysql> SET time_zone = timezone;
Die aktuellen Werte der globalen und der clientspezifischen Zeitzone lassen sich wie folgt abrufen:
mysql> SELECT @@global.time_zone, @@session.time_zone;
        timezone-Werte können als Strings
        angegeben werden, die einen Offset zur UTC angeben (z. B.
        '+10:00' oder '-6:00').
        Wenn die Zeitzonen-Informationstabellen in der
        mysql-Datenbank erstellt und ausgefüllt
        wurden, können Sie auch benannte Zeitzonen wie etwa
        'Europe/Helsinki',
        'US/Eastern' oder 'MET'
        verwenden. Mit dem Wert 'SYSTEM' kann
        angegeben werden, dass die Zeitzone denselben Wert haben sollte
        wie die Systemzeitzone. Bei den Zeitzonennamen wird die
        Groß-/Kleinschreibung nicht unterschieden.
      
        Der MySQL-Installationsvorgang erzeugt Zeitzonentabellen in der
        mysql-Datenbank, lädt diese aber nicht. Dies
        müssen Sie manuell tun. (Wenn Sie von einer früheren Version
        auf MySQL 4.1.3 oder höher aktualisieren, sollten Sie die
        Tabellen erstellen, indem Sie ein Upgrade Ihrer
        mysql-Datenbank durchführen. Verwenden Sie
        hierzu die Anleitung in
        Abschnitt 5.6, „mysql_fix_privilege_tables — Upgrade von MySQL-Systemtabellen“.)
      
        Wenn Ihr System eine eigene
        zoneinfo-Datenbank hat (dies ist ein Satz
        von Dateien, die die Zeitzonen beschreiben), dann sollten Sie
        das Programm mysql_tzinfo_to_sql zum
        Ausfüllen der Zeitzonentabellen verwenden. Beispiele für
        solche Systeme sind Linux, FreeBSD, Sun Solaris und Mac OS X.
        Eine wahrscheinliche Position für diese Dateien ist das
        Verzeichnis /usr/share/zoneinfo. Verfügt
        Ihr System nicht über eine zoneinfo-Datenbank, dann können Sie
        das im weiteren Verlauf dieses Abschnitts genannte Paket
        herunterladen und verwenden.
      
Das Programm mysql_tzinfo_to_sql wird zum Laden der Zeitzonentabellen verwendet. Auf der Befehlszeile übergeben Sie den Pfadnamen des zoneinfo-Verzeichnisses an mysql_tzinfo_to_sql und leiten die Ausgabe in das Programm mysql. Zum Beispiel:
shell> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
mysql_tzinfo_to_sql liest die Zeitzonendateien Ihres Systems aus und erzeugt daraus SQL-Anweisungen. mysql verarbeitet diese Anweisungen, um die Zeitzonentabellen zu laden.
mysql_tzinfo_to_sql kann auch zum Laden einer einzelnen Zeitzonendatei und zur Erzeugung von Schaltsekunden verwendet werden:
            Um eine einzelne Zeitzonendatei
            tz_file zu laden, die einem
            Zeitzonennamen tz_name
            entspricht, rufen Sie mysql_tzinfo_to_sql
            wie folgt auf:
          
shell> mysql_tzinfo_to_sql tz_file tz_name | mysql -u root mysql
            Wenn Ihre Zeitzone Schaltsekunden berücksichtigen muss,
            initialisieren Sie die Schaltsekundeninformation wie folgt
            (hierbei ist tz_file der Name der
            Zeitzonendatei):
          
shell> mysql_tzinfo_to_sql --leap tz_file | mysql -u root mysql
        Verfügt Ihr System über keine zoneinfo-Datenbank (dies gilt
        beispielsweise für Windows oder HP-UX), dann können Sie das
        Paket mit den vorerstellten Zeitzonentabellen verwenden, welches
        unter http://dev.mysql.com/downloads/timezones.html
        heruntergeladen werden kann. Dieses Paket enthält
        .frm-, .MYD- und
        .MYI-Dateien für die
        MyISAM-Zeitzonentabellen. Diese Tabellen
        sollten Teil der mysql-Datenbank sein, d. h.
        Sie sollten Sie Dateien im Unterverzeichnis
        mysql des Datenverzeichnisses Ihres
        MySQL-Servers ablegen. Währenddessen sollte der Server beendet
        sein.
      
Warnung: Verwenden Sie das herunterzuladende Paket nicht, wenn Ihr System über eine zoneinfo-Datenbank verfügt. Benutzen Sie stattdessen das Hilfsprogramm mysql_tzinfo_to_sql. Andernfalls kann es zu Diskrepanzen in der Verarbeitung von Datum und Uhrzeit zwischen MySQL und anderen Anwendungen auf Ihrem System kommen.
Informationen zu Zeitzoneneinstellungen in der Replikationskonfiguration finden Sie in Abschnitt 6.8, „Replikation: Features und bekannte Probleme“.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.

