Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Konfiguration des Binärprotokolls einrichten und anzeigen
Die folgenden gespeicherten Prozeduren legen Konfigurationsparameter fest und zeigen sie an, z. B. für die Aufbewahrung binärer Protokolldateien.
mysql.rds_set_configuration
Gibt die Anzahl an Stunden an, für die die Binärprotokolle aufbewahrt werden sollen, oder die Anzahl Sekunden, um die die Replikation verzögert werden soll.
Syntax
CALL mysql.rds_set_configuration(
name
,value
);
Parameter
-
name
-
Der Name des festzulegenden Konfigurationsparameters
-
value
-
Der Wert des Konfigurationsparameters
Nutzungshinweise
Die Prozedur mysql.rds_set_configuration
unterstützt die folgenden Konfigurationsparameter:
Die Konfigurationsparameter werden dauerhaft gespeichert und überstehen jeden Neustart oder Failover der DB-Instance.
binlog retention hours
Der Parameter binlog retention hours
wird verwendet, um die Anzahl der Stunden anzugeben, die Binärprotokolldateien aufbewahrt werden sollen. Amazon RDS löscht normalerweise ein Binärprotokoll so schnell wie möglich, aber das Binärprotokoll ist möglicherweise immer noch für die Replikation mit einer externen SQL Datenbank von Meine Datenbank erforderlich. RDS
Der Standardwert von binlog retention hours
ist NULL
. RDSFor My NULL
bedeutetSQL, dass Binärprotokolle nicht aufbewahrt werden (0 Stunden).
Um die Anzahl der Stunden zu bestimmen, für die Binärprotokolle auf einer/einem DB-Instance aufbewahrt werden sollen, verwenden Sie die gespeicherte Prozedur mysql.rds_set_configuration
und geben Sie, wie in dem folgenden Beispiel gezeigt, einen ausreichend großen Zeitraum für die gewünschte Replikation an.
call mysql.rds_set_configuration('binlog retention hours', 24);
Anmerkung
Sie können den Wert 0
nicht für binlog retention hours
verwenden.
Für My SQL DB-Instances beträgt der binlog retention hours
Höchstwert 168 (7 Tage).
Nachdem Sie den Aufbewahrungszeitraum festgelegt haben, überwachen Sie die Speichernutzung für die DB-Instance, um sicherzustellen, dass die aufbewahrten binären Protokolle nicht zu viel Speicherplatz beanspruchen.
Bei Multi-AZ-DB-Cluster-Bereitstellungen können Sie die Aufbewahrung von Binärprotokollen nur von der Writer-DB-Instance aus konfigurieren, und die Einstellung wird asynchron an alle Reader-DB-Instances weitergegeben. Wenn Binärprotokolle auf dem DB-Cluster die Hälfte des gesamten lokalen Speicherplatzes überschreiten, verschiebt Amazon RDS automatisch veraltete Protokolle auf das EBS Volume. Die neuesten Protokolle verbleiben jedoch im lokalen Speicher, sodass sie verloren gehen können, wenn ein Fehler auftritt, der einen Host-Austausch erfordert, oder wenn Sie die Datenbank nach oben oder unten skalieren.
Quellenverzögerung
Verwenden Sie den Parameter source delay
in einem Lesereplikat zur Angabe der Sekundenzahl, um die die Replikation vom Lesereplikat zur entsprechenden Quelldatenbank-Instance verzögert werden soll. Amazon repliziert Änderungen RDS normalerweise so schnell wie möglich, aber Sie möchten möglicherweise, dass einige Umgebungen die Replikation verzögern. Wenn die Replikation verzögert wird, können Sie alle Änderungen bis zu einem Zeitpunkt unmittelbar vor Eintreten des Notfalls in einem verzögerten Lesereplikat wiederherstellen. Wenn eine Tabelle versehentlich entfernt wurde, können Sie sie aufgrund der verzögerten Replikation schnell wiederherstellen. Der Standardwert von target delay
ist 0
(Replikation nicht verzögern).
Wenn Sie diesen Parameter verwenden, wird er ausgeführt mysql.rds_set_source_delay und verwendet CHANGE primary TO MASTER _ DELAY = Eingabewert. Bei Erfolg speichert die Prozedur den Parameter source delay
in der Tabelle mysql.rds_configuration
.
Um die Anzahl der Sekunden anzugeben, für die Amazon die Replikation RDS zu einer Quell-DB-Instance verzögert, verwenden Sie die mysql.rds_set_configuration
gespeicherte Prozedur und geben Sie die Anzahl der Sekunden an, um die Replikation verzögert werden soll. Im folgenden Beispiel wird die Replikation um mindestens eine Stunde (3 600 Sekunden) verzögert.
call mysql.rds_set_configuration('source delay', 3600);
Die Prozedur führt dann mysql.rds_set_source_delay(3600)
aus.
Die Obergrenze für den Parameter source delay
beträgt einen Tag (86 400 Sekunden).
Anmerkung
Der source delay
Parameter wird RDS für Meine SQL Version 8.0 oder MariaDB-Versionen unter 10.2 nicht unterstützt.
target delay
Verwenden Sie den target delay
Parameter, um die Anzahl der Sekunden anzugeben, um die Replikation zwischen einer DB-Instance und allen future RDS verwalteten Read Replicas, die von dieser Instance erstellt wurden, verzögert werden soll. Dieser Parameter wird für nicht RDS verwaltete Read Replicas ignoriert. Amazon repliziert Änderungen RDS normalerweise so schnell wie möglich, aber Sie möchten möglicherweise, dass einige Umgebungen die Replikation verzögern. Wenn die Replikation verzögert wird, können Sie alle Änderungen bis zu einem Zeitpunkt unmittelbar vor Eintreten des Notfalls in einem verzögerten Lesereplikat wiederherstellen. Wenn eine Tabelle versehentlich entfernt wurde, können Sie sie mithilfe der verzögerten Replikation schnell wiederherstellen. Der Standardwert von target delay
ist 0
(Replikation nicht verzögern).
Für die Notfallwiederherstellung können Sie diesen Konfigurationsparameter mit der gespeicherten Prozedur oder verwenden. Um alle Änderungen bis zu einem Zeitpunkt unmittelbar vor Eintreten des Notfalls in einem verzögerten Lesereplikat wiederherzustellen, können Sie die Prozedur mysql.rds_set_configuration
mit diesem Parametersatz ausführen. Nachdem die Prozedur mysql.rds_start_replication_until
oder mysql.rds_start_replication_until_gtid
die Replikation gestoppt hat, können Sie das Lesereplikat zur neuen primären DB-Instance hochstufen (siehe die Anleitung unter Hochstufen eines Lesereplikats zur eigenständigen DB-Instance).
Um das mysql.rds_rds_start_replication_until_gtid
Verfahren verwenden zu können, muss die GTID basierte Replikation aktiviert sein. Um eine bestimmte GTID basierte Transaktion zu überspringen, von der bekannt ist, dass sie zu einem Notfall führt, können Sie die gespeicherte Prozedur verwenden. Weitere Informationen zum Arbeiten mit der GTID basierten Replikation finden Sie unterVerwenden der GTID basierten Replikation.
Um die Anzahl der Sekunden anzugeben, für die Amazon die Replikation RDS auf eine Read Replica verzögert, verwenden Sie die mysql.rds_set_configuration
gespeicherte Prozedur und geben Sie die Anzahl der Sekunden an, um die Replikation verzögert werden soll. Das folgende Beispiel gibt an, dass die Replikation um mindestens eine Stunde (3600 Sekunden) verzögert wird.
call mysql.rds_set_configuration('target delay', 3600);
Die Obergrenze für den Parameter target delay
beträgt einen Tag (86 400 Sekunden).
Anmerkung
Der target delay
Parameter wird RDS für My SQL Version 8.0 oder MariaDB-Versionen vor 10.2 nicht unterstützt.
mysql.rds_show_configuration
Die Anzahl der Stunden, während der binäre Protokolldateien aufbewahrt werden sollen.
Syntax
CALL mysql.rds_show_configuration;
Nutzungshinweise
Verwenden Sie die mysql.rds_show_configuration
gespeicherte Prozedur, um zu überprüfen, wie viele Stunden Amazon RDS Binärprotokolle aufbewahrt.
Beispiele
Nachfolgend sehen Sie ein Beispiel für die Anzeige des Aufbewahrungszeitraums:
call mysql.rds_show_configuration; name value description binlog retention hours 24 binlog retention hours specifies the duration in hours before binary logs are automatically deleted.