Direkt zum Inhalt

Wie ändere ich die Zeitzone für einen Aurora-DB-Cluster?

Lesedauer: 2 Minute
0

Ich habe einen Amazon Aurora-DB-Cluster und möchte die Zeitzone ändern.

Kurzbeschreibung

In Aurora wird der Parameter time_zone auf Cluster-Ebene festgelegt. Die Parametergruppe stellt eine Standardzeitzone für den Cluster und alle Datenbanken bereit. Der Standardwert von time_zone ist UTC. Wenn du den Wert von time_zone änderst, gilt deine Änderung für alle Knoten im Cluster.

Es gibt einen Unterschied zwischen DB-Cluster-Parametergruppen und DB-Instance-Parametergruppen.

  • DB-Instance-Parametergruppen dienen als Container für Engine-Konfigurationswerte, die für eine oder mehrere DB-Instances gelten. DB-Instance-Parametergruppen gelten für DB-Instances sowohl in Amazon Relational Database Service (Amazon RDS) als auch in Aurora. Diese Konfigurationseinstellungen gelten für Eigenschaften, die zwischen den DB-Instances in einem Aurora-DB-Cluster variieren können, z. B. die Größen der Speicherpuffer.
  • Eine DB-Cluster-Parametergruppe fungiert als Container für Engine-Konfigurationswerte, die für jede DB-Instance in einem Aurora-DB-Cluster gelten. Das Aurora-Modell für gemeinsamen Speicher erfordert beispielsweise, dass jede DB-Instance in einem Aurora-Cluster dieselbe Einstellung für Parameter, wie z. B. innodb_file_per_table, verwendet. Parameter, die sich auf das physische Speicher-Layout und die Engine-Parameter auswirken, sind Teil der DB-Cluster-Parametergruppe. Die DB-Cluster-Parametergruppe enthält zudem Standardwerte für alle Parameter auf DB-Instance-Ebene.

Lösung

Neue DB-Cluster-Parametergruppen

Gehe wie folgt vor, um Amazon Aurora MySQL-kompatible Edition 5.7 oder PostgreSQL zu verwenden, um den Parameter time_zone in ASIA/CALCUTTA zu ändern:

  1. Erstelle eine benutzerdefinierte DB-Cluster-Parametergruppe.
  2. Ändere den dynamischen Parameter time_zone zu „ASIA/CALCUTTA“.
  3. Hängen Sie die neue DB-Cluster-Parametergruppe an den Cluster an und starten Sie die Writer-Instance dann manuell neu, um die Änderungen zu übernehmen.
  4. Führe den folgenden Befehl aus, um den Zeitstempel deiner DB-Instance zu überprüfen:
    MySQL:
    mysql> select @@time_zone;
    +---------------+
    | @@time_zone   |
    +---------------+
    | Asia/Calcutta |
    +---------------+
    1 row in set (0.00 sec)
    PostgreSQL:
    postgresql> select * from pg_timezone_names;
    +---------------+
    | timezone_names |
    +---------------+
    | Asia/Calcutta |
    +---------------+
    1 row in set (0.00 sec)

Bestehende DB-Cluster-Parametergruppen

Bei bestehenden benutzerdefinierten Parametergruppen ist der Parameter dynamisch. Du musst die Writer-Instance nicht neu starten, um die Änderungen zu übernehmen. Stattdessen kannst du den Parameter aktualisieren, um die vorhandene Cluster-Parametergruppe an den Cluster anzuhängen. Beende dann die Sitzung und stelle erneut eine Verbindung zum Cluster her. Bei diesem Vorgang wird die Verbindung wiederverwendet.

Hinweis: Du kannst die Zeitzone auch auf Sitzungsebene festlegen. Die Sitzungszeitzone überschreibt die Zeitzone des DB-Clusters jedoch nur für die Dauer der Sitzung.