MySQL-Datenbank-Protokolldateien - Amazon Relational Database Service

MySQL-Datenbank-Protokolldateien

Sie können das MySQL-Fehlerprotokoll, Slow-Query-Protokoll und das allgemeine Protokoll überwachen. Das MySQL-Fehlerprotokoll wird standardmäßig generiert. Das Slow-Query-Protokoll und allgemeine Protokolle können Sie mithilfe der Parametereinstellungen in Ihrer DB-Parametergruppe generieren. Amazon RDS rotiert alle MySQL-Protokolldateien. Die Intervalle für jeden Typ sehen Sie im Folgenden.

Sie können die MySQL-Protokolle direkt über die Amazon RDS-Konsole, Amazon RDS-API, AWS CLI oder AWS SDKs überwachen. Sie können auf MySQL-Protokolle auch direkt zugreifen, indem Sie die Protokolle in eine Datenbank-Tabelle in der Hauptdatenbank weiterleiten und diese Tabelle abfragen. Mit dem Dienstprogramm "mysqlbinlog" können Sie ein binäres Protokoll herunterladen.

Weitere Informationen zum Anzeigen und Herunterladen von dateibasierten Datenbankprotokollen finden Sie unter Amazon RDS-Datenbank-Protokolldateien.

Zugriff auf MySQL-Fehlerprotokolle

Das MySQL-Fehlerprotokoll wird in die mysql-error.log-Datei geschrieben. Sie können mysql-error.log mithilfe der Amazon RDS-Konsole oder durch Abrufen des Protokolls mithilfe von Amazon RDS-API, Amazon RDS-CLI oder AWS SDKs ansehen. mysql-error.log wird alle 5 Minuten bereinigt und ihre Inhalte werden an mysql-error-running.log angefügt. Die mysql-error-running.log-Datei wird dann jede Stunde rotiert und die stündlich erstellten Dateien der letzten 24 Stunden werden aufbewahrt. Beachten Sie, dass der Aufbewahrungszeitraum bei Amazon RDS und Aurora jeweils unterschiedlich ist.

An den Namen jeder Protokolldatei wird die Stunde ihrer Erstellung (in UTC) angefügt. Die Protokolldateien verfügen auch über einen Zeitstempel, anhand dessen Sie feststellen können, wann die Protokolleinträge geschrieben wurden.

MySQL schreibt das Fehlerprotokoll nur beim Hochfahren, Herunterfahren und beim Auftreten von Fehlern. Eine DB-Instance kann Stunden oder Tage lang laufen, ohne dass neue Einträge in das Fehlerprotokoll geschrieben werden. Wenn Sie keine neuen Einträge sehen, sind im Server keine Fehler aufgetreten, die zu einem Eintrag in das Protokoll führen würden.

Zugriff auf die MySQL-Slow-Query- und allgemeinen Protokolle

Das MySQL-Slow-Query-Protokoll und das allgemeine Protokoll können in eine Datei oder in eine Datenbanktabelle mithilfe der Parametereinstellungen in Ihrer DB-Parametergruppe geschrieben werden. Weitere Informationen zum Erstellen und Ändern einer DB-Parametergruppe finden Sie unter Arbeiten mit DB-Parametergruppen. Sie müssen diese Parameter festlegen, bevor Sie das Slow-Query-Protokoll oder das allgemeine Protokoll in der Amazon RDS-Konsole bzw. mithilfe von Amazon RDS-API, Amazon RDS-CLI oder AWS SDKs sehen können.

Sie können MySQL-Protokolle mithilfe der Parameter in dieser Liste kontrollieren:

  • slow_query_log Um das Slow-Query-Protokoll zu erstellen, auf 1 setzen. Der Standardwert ist 0.

  • general_log Um das allgemeine Protokoll zu erstellen, auf 1 setzen. Der Standardwert ist 0.

  • long_query_time: Um zu vermeiden, dass schnell ausgeführte Abfragen im Slow-Query-Protokoll aufgenommen werden, legen Sie die kürzeste Laufzeit für eine einzutragende Abfrage in Sekunden fest. Der Standardwert liegt bei 10 Sekunden, der Mindestwert bei 0. Wenn log_output = FILE, können Sie einen Gleitkommawert angeben, der die Mikrosekundenauflösung festlegt. Wenn log_output = TABLE, können Sie einen Ganzzahlwert angeben, der die Sekundenauflösung festlegt. Nur Abfragen, deren Laufzeit den long_query_time-Wert übersteigt, werden im Protokoll aufgenommen. Wenn Sie beispielsweise long_query_time auf 0,1 setzen, verhindert dies Einträge von allen Abfragen, die weniger als 100 Millisekunden lang ausgeführt werden.

  • log_queries_not_using_indexes: Um alle Abfragen, die keinen Index für das Slow-Query-Protokoll verwenden im Protokoll aufzunehmen, auf 1 setzen. Der Standardwert ist 0. Abfragen, die keinen Index verwenden, werden protokolliert, auch wenn ihre Laufzeit niedriger als der Wert des long_query_time-Parameters ist.

  • log_output option: Sie können eine der folgenden Optionen für den log_output-Parameter festlegen.

    • TABLE (Standard)– schreibt allgemeine Abfragen in die mysql.general_log-Tabelle und langsame Abfragen in die mysql.slow_log-Tabelle.

    • FILE– schreibt Protokolle allgemeiner und langsamer Abfragen in das Dateisystem. Protokolldateien werden stündlich rotiert.

    • NONE– Die Protokollierung ist deaktiviert.

Wenn Protokollierung aktiviert ist, rotiert Amazon RDS Tabellenprotokolle oder löscht Protokolldateien in regelmäßigen Intervallen. Dies ist eine Vorsichtsmaßnahme, um möglichst zu vermeiden, dass eine umfangreiche Protokolldatei die Datenbanknutzung blockiert oder die Leistung beeinträchtigt. FILE- und TABLE-Protokollierung führen das Rotieren und Löschen wie folgt aus:

  • Wenn die FILE-Protokollierung aktiviert ist, werden Protokolldateien stündlich geprüft und Protokolldateien, die älter als 24 Stunden sind, werden gelöscht. In einigen Fällen kann die Größe der verbleibenden kombinierten Protokolldatei nach dem Löschen die Schwelle von 2 % des zugeteilten Speicherplatzes für eine DB-Instance überschreiten. In diesen Fällen werden die umfangreichsten Protokolldateien gelöscht, bis die Größe den Schwellenwert nicht mehr überschreitet.

  • Wenn die TABLE-Protokollierung aktiviert ist, werden in einigen Fällen Protokolltabellen alle 24 Stunden überschrieben. Diese Rotation erfolgt, wenn der von den Tabellen-Protokollen verwendete Speicherplatz mehr als 20 Prozent des zugeteilten Speicherplatzes ausmacht oder wenn die Größe aller Protokolle zusammen mehr als 10 GB beträgt. Wenn der für eine DB-Instance verwendete Speicherplatz 90 Prozent des Speicherplatzes überschreitet, der der DB-Instance zugeteilt ist, werden die Schwellen für die Protokollrotation reduziert. Protokolltabellen werden rotiert, wenn der von den Tabellen-Protokollen verwendete Speicherplatz mehr als 10 % des zugewiesenen Speicherplatzes ausmacht oder wenn die Größe alle Protokolle zusammen mehr als 5 GB beträgt. Sie können das Ereignis low_free_storage abonnieren, um Benachrichtigungen zu erhalten, wenn Protokolltabellen rotiert werden, um Speicherplatz freizugeben. Weitere Informationen finden Sie unter Verwenden von Amazon RDS-Ereignisbenachrichtigungen.

    Beim Rotieren von Protokolldateien wird die aktuelle Protokolltabelle in eine Sicherungsprotokolltabelle kopiert, und die Einträge in der aktuellen Protokolltabelle werden entfernt. Sofern bereits eine Sicherungsprotokolltabelle vorhanden ist, wird diese gelöscht, bevor die aktuelle Protokolltabelle in die Sicherung kopiert wird. Sie können die Sicherungsprotokolltabelle abfragen, wenn dies nötig ist. Die Backup-Protokolltabelle für die mysql.general_log-Tabelle ist als mysql.general_log_backup benannt. Die Backup-Protokolltabelle für die mysql.slow_log-Tabelle ist als mysql.slow_log_backup benannt.

    Sie können die mysql.general_log-Tabelle rotieren, wenn Sie die Prozedur mysql.rds_rotate_general_log aufrufen. Sie können die mysql.slow_log-Tabelle rotieren, wenn Sie die Prozedur mysql.rds_rotate_slow_log aufrufen.

    Tabellenprotokolle werden während des Upgrades einer Datenbankversion rotiert.

Um mit den Protokollen über die Amazon RDS-Konsole, Amazon RDS-API, Amazon RDS-CLI, oder AWS SDKs zu arbeiten, setzen Sie den Parameter log_output auf FILE. So wie das MySQL-Fehlerprotokoll, werden diese Protokolldateien stündlich rotiert. Die Protokolldateien, die während der vorherigen 24 Stunden angelegt wurden, werden aufbewahrt. Beachten Sie, dass der Aufbewahrungszeitraum bei Amazon RDS und Aurora jeweils unterschiedlich ist.

Weitere Informationen zu den Slow-Query- und allgemeinen Protokollen finden Sie in den folgenden Themen in der MySQL-Dokumentation:

Zugreifen auf das MySQL-Audit-Protokoll

Für den Zugriff auf das Audit-Protokoll muss die DB-Instance eine benutzerdefinierte Optionsgruppe mit der Option MARIADB_AUDIT_PLUGIN verwenden. Weitere Informationen finden Sie unter MariaDB Audit-Plugin-Support.

Veröffentlichen von MySQL-Protokollen in CloudWatch Logs

Sie können die Amazon RDS-MySQL-DB-Instance so konfigurieren, dass Protokolldaten in einer Protokollgruppe in Amazon CloudWatch Logs veröffentlicht werden. Mit CloudWatch Logs können Sie Echtzeitanalysen der Protokolldaten durchführen, und mit CloudWatch können Sie Alarme und Metriken erstellen. Sie können CloudWatch Logs verwenden, um Ihre Protokolldatensätze in einem Speicher mit hoher Beständigkeit abzulegen.

Amazon RDS veröffentlicht jedes MySQL-Datenbankprotokoll als separaten Datenbank-Stream in der Protokollgruppe. Wenn Sie beispielsweise die Exportfunktion so konfigurieren, dass das Slow-Query-Protokoll berücksichtigt wird, werden Slow-Query-Daten in einem Slow-Query-Protokollstream in der Protokollgruppe /aws/rds/instance/my_instance/slowquery gespeichert.

Das Fehlerprotokoll ist standardmäßig aktiviert. Die folgende Tabelle fasst die Anforderungen für die anderen MySQL-Protokolle zusammen.

Protokoll Anforderung

Prüfungsprotokoll

Die DB-Instance muss eine benutzerdefinierte Optionsgruppe mit der Option MARIADB_AUDIT_PLUGIN verwenden.

Allgemeines Protokoll

Die DB-Instance muss eine benutzerdefinierte Parametergruppe mit der Parametereinstellung general_log = 1 verwenden, um das allgemeine Protokoll zu aktivieren.

Slow-Query-Protokoll

Die DB-Instance muss eine benutzerdefinierte Parametergruppe mit der Parametereinstellung slow_query_log = 1 verwenden, um das Slow-Query-Protokoll zu aktivieren.

Protokollausgabe

Die DB-Instance muss eine benutzerdefinierte Parametergruppe mit der Parametereinstellung log_output = FILE verwenden, um Protokolle in das Dateisystem zu schreiben und sie in CloudWatch Logs zu veröffentlichen.

Anmerkung

Die Veröffentlichung von Protokolldateien an CloudWatch Logs wird nur für MySQL Version 5.6, 5.7 und 8.0 unterstützt.

So veröffentlichen Sie MySQL-Protokolle in CloudWatch Logs über die Konsole

  1. Öffnen Sie die Amazon RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) und dann die DB-Instance, die Sie ändern möchten.

  3. Wählen Sie Modify aus.

  4. Wählen Sie im Bereich Protokollexporte die Protokolle aus, die Sie in CloudWatch Logs veröffentlichen möchten.

  5. Wählen Sie Weiter und dann auf der zusammenfassenden Seite Modify DB Instance (DB-Instance ändern) aus.

Sie können MySQL-Protokolle über die AWS-CLI veröffentlichen. Sie können den Befehl modify-db-instance mit den folgenden Parametern aufrufen:

  • --db-instance-identifier

  • --cloudwatch-logs-export-configuration

Anmerkung

Eine Änderung der Option --cloudwatch-logs-export-configuration wird immer sofort auf die DB-Instance angewendet. Aus diesem Grund sind die Optionen --apply-immediately und --no-apply-immediately wirkungslos.

Sie können MySQL-Protokolle auch veröffentlichen, indem Sie in der AWS-CLI die folgenden Befehle aufrufen:

Führen Sie in der AWS-CLI einen dieser Befehle mit den folgenden Optionen aus:

  • --db-instance-identifier

  • --enable-cloudwatch-logs-exports

  • --db-instance-class

  • --engine

Je nach verwendetem AWS-CLI-Befehl müssen möglicherweise noch weitere Optionen angegeben werden.

Im folgenden Beispiel wird eine vorhandene MySQL-DB-Instance so konfiguriert, dass Protokolldateien in CloudWatch Logs veröffentlicht werden. Der --cloudwatch-logs-export-configuration-Wert ist ein JSON-Objekt. Der Schlüssel für dieses Objekt ist EnableLogTypes und dessen Wert ist ein Array von Zeichenfolgen mit einer beliebigen Kombination aus audit, error, general und slowquery.

Für Linux, macOS oder Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'

Für Windows:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'

Im folgenden Beispiel wird eine MySQL-DB-Instance erstellt und die Protokolldateien in CloudWatch Logs veröffentlicht. Der Wert --enable-cloudwatch-logs-exports ist ein JSON-Array mit Zeichenfolgen. Die Zeichenfolgen können eine beliebige Kombination von audit, error, general und slowquery sein.

Für Linux, macOS oder Unix:

aws rds create-db-instance \ --db-instance-identifier mydbinstance \ --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' \ --db-instance-class db.m4.large \ --engine MySQL

Für Windows:

aws rds create-db-instance ^ --db-instance-identifier mydbinstance ^ --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' ^ --db-instance-class db.m4.large ^ --engine MySQL

Sie können MySQL-Protokolle über die RDS-API veröffentlichen. Die Aktion ModifyDBInstance kann dazu mit den folgenden Parametern aufgerufen werden:

  • DBInstanceIdentifier

  • CloudwatchLogsExportConfiguration

Anmerkung

Eine Änderung des Parameters CloudwatchLogsExportConfiguration wird immer sofort auf die DB-Instance angewendet. Aus diesem Grund ist der Parameter ApplyImmediately wirkungslos.

Sie können MySQL-Protokolle auch veröffentlichen, indem Sie in der RDS-API die folgenden Operationen aufrufen:

Führen Sie eine dieser RDS-API-Operationen mit den folgenden Parametern aus:

  • DBInstanceIdentifier

  • EnableCloudwatchLogsExports

  • Engine

  • DBInstanceClass

Je nach verwendetem AWS-CLI-Befehl müssen möglicherweise noch weitere Parameter angegeben werden.

Protokolldateigröße

Die MySQL-Slow-Query-Protokolldatei, Fehlerprotokolldatei und allgemeine Protokolldatei sind auf eine Größe beschränkt, die 2 % des zugewiesenen Speicherplatzes für eine DB-Instance nicht überschreiten darf. Um diesen Schwellwert einzuhalten, werden Protokolle automatisch stündlich rotiert und Protokolldateien, die älter als 24 Stunden sind, werden entfernt. Wenn die kombinierte Größe der Protokolle nach dem Löschen von alten Protokolldateien den Schwellwert überschreitet, werden die umfangreichsten Protokolldateien gelöscht, bis die Größe den Schwellwert nicht mehr überschreitet.

Für MySQL besteht ein Größenlimit für BLOBs, die im Redo-Log geschrieben werden. Um das Limit zu erfassen, stellen Sie sicher, dass der Parameter innodb_log_file_size für Ihre MySQL-DB-Instance zehnmal größer ist, als die größte BLOB-Datei in Ihren Tabellen, zuzüglich der Länge anderer Felder mit variabler Länge (VARCHAR, VARBINARY, TEXT) in den selben Tabellen. Weitere Informationen über das Einstellen von Parameterwerten finden Sie unter Arbeiten mit DB-Parametergruppen. Weitere Informationen zu Redo-Log-BLOB-Größenlimits finden Sie unter Changes in MySQL 5.6.20.

Verwalten von tabellenbasierten MySQL-Protokollen

Sie können die allgemeinen und Slow-Query-Protokolle an Tabellen in der DB-Instance weiterleiten, indem Sie eine DB-Parametergruppe erstellen und den log_output-Serverparameter auf TABLE setzen. Allgemeine Abfragen werden anschließend in der mysql.general_log-Tabelle und Slow-Queries in dermysql.slow_log-Tabelle protokolliert. Sie können die Tabellen abfragen, um auf Protokollinformationen zuzugreifen. Durch Aktivieren dieser Protokollierung wird die Datenmenge erhöht, die in die Datenbank geschrieben wird, was die Performance beeinträchtigen kann.

Das allgemeine Protokoll und das Slow-Query-Protokoll sind standardmäßig deaktiviert. Um die Protokollierung in Tabellen zu aktivieren, müssen Sie auch die Serverparameter general_log und slow_query_log auf 1 setzen.

Protokolltabellen wachsen stetig, bis die entsprechenden Protokollierungsaktivitäten ausgeschaltet werden, indem der entsprechende Parameter auf 0 gesetzt wird. Mit der Zeit sammelt sich häufig eine große Datenmenge an und belegt einen beträchtlichen Anteil Ihres zugeteilten Speicherplatzes. Amazon RDS ermöglicht nicht, Protokolldateien zu kürzen, aber Sie können ihre Inhalte verschieben. Beim Rotieren einer Tabelle wird deren Inhalt in einer Sicherungstabelle gespeichert, und anschließend wird eine neue leere Protokolldatei angelegt. Sie können Protokolltabellen mithilfe der folgenden Befehlszeilenprozeduren manuell rotieren, wobei die Eingabeaufforderung mit PROMPT> bezeichnet ist:

PROMPT> CALL mysql.rds_rotate_slow_log; PROMPT> CALL mysql.rds_rotate_general_log;

Um alte Daten komplett zu entfernen und den Speicherplatz zurückzugewinnen, rufen Sie die entsprechende Prozedur zweimal nacheinander auf.

Binäres Protokollformat

MySQL auf Amazon RDS unterstützt das zeilenbasierte, anweisungsbasierte und gemischte binäre Protokollierungsformat für MySQL version 5.6 und höher. Das standardmäßige binäre Protokollierungsformat ist „mixed”. Für DB-Instances, auf denen die MySQL-Versionen 5.1 und 5.5 ausgeführt werden, wird nur die gemischte binäre Protokollierung unterstützt. Weitere Details zu anderen binären Protokollierungsformaten in MySQL finden Sie unter Binäre Protokollierungsformate in der MySQL-Dokumentation.

Zur Verwendung der Replikation ist das binäre Protokollierungsformat wichtig, da es den Datensatz der Datenänderungen bestimmt, der in der Quelle aufgezeichnet und an die Replikationsziele gesendet wird. Weitere Informationen über Vor- und Nachteile verschiedener binärer Protokollierungsformate finden Sie unter Vorteile und Nachteile einer auf Anweisungen und einer auf Zeilen basierenden Replikation in der MySQL-Dokumentation.

Wichtig

Wenn das binäre Protokollierungsformat auf "row-based" eingestellt ist, kann das zu sehr umfangreichen binären Protokolldateien führen. Große binäre Protokolldateien verringern die Speichermenge, die einem DB-Instance- zur Verfügung steht, und können den Zeitaufwand für die Wiederherstellungsoperation eines DB-Instance- erhöhen.

Die anweisungsbasierte Replikation kann zu Inkonsistenzen zwischen dem Quell-DB-Instance- und einem Lese-Replikat führen. Weitere Informationen finden Sie unterErkennen sicherer und nicht sicherer Anweisungen in der binären Protokollierung in der MySQL-Dokumentation.

So stellen Sie das MySQL-binäres-Protokollierungsformat ein

  1. Öffnen Sie die Amazon RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Parameter groups (Parametergruppen) aus.

  3. Wählen Sie in der Liste die zu ändernde Parametergruppe, die von dem DB-Instance- verwendet wird.

    Eine Standard-Parametergruppe kann nicht modifiziert werden. Erstellen Sie eine neue Parametergruppe und ordnen Sie diese dem DB-Instance- zu, wenn der DB-Instance- eine Standardparametergruppe verwendet.

    Weitere Informationen zu Parametergruppen finden Sie unter Arbeiten mit DB-Parametergruppen.

  4. Wählen Sie für Parameter group actions (Parametergruppenaktionen) die Option Bearbeiten.

  5. Stellen Sie den Parameter binlog_format auf das binäre Protokollierungsformat Ihrer Wahl ein (ROW, STATEMENT oder MIXED).

  6. Wählen Sie Save changes (Änderungen speichern), um die Aktualisierungen in dieser DB--Parametergruppe zu speichern.

Wichtig

Das Ändern einer DB-Parametergruppe wirkt sich auf alle DB-Instances aus, die diese Parametergruppe verwenden. Wenn Sie verschiedene binäre Protokollierungsformate für verschiedene MySQL-DB-Instances in einer AWS-Region angeben möchten, müssen die DB-Instances unterschiedliche DB-Parametergruppen verwenden. Diese Parametergruppen identifizieren unterschiedliche Protokollierungsformate. Weisen Sie den einzelnen DB-Instances die entsprechende DB-Parametergruppe zu.

Zugriff auf MySQL-Binärprotokolle

Sie können das Hilfsprogramm mysqlbinlog verwenden, um Binärprotokolle aus Amazon RDS-Instances, auf denen MySQL 5.6 oder neuer ausgeführt wird, herunterzuladen oder zu streamen. Das Binärprotokoll wird auf den lokalen Computer heruntergeladen, von wo aus Sie Aktionen, wie die Wiedergabe eines Protokolls mithilfe des Hilfsprogramms mysql ausführen können. Weitere Informationen über die Verwendung des Hilfsprogramms mysqlbinlog finden Sie unter Verwenden von mysqlbinlog zur Sicherung binärer Protokolldateien.

Verwenden Sie zum Ausführen des Dienstprogramms mysqlbinlog mit einer Amazon RDS-Instance die folgenden Optionen:

  • Legen Sie die Option --read-from-remote-server fest.

  • --host Geben Sie den DNS-Namen vom Endpunkt dieser Instance an.

  • --portGeben Sie den von der Instance verwendeten Port an.

  • --user: Geben Sie einen MySQL-Benutzer an, dem die Slave-Berechtigung für Replikation erteilt wurde.

  • --password: Geben Sie das Passwort für den Benutzer an oder lassen Sie einen Passwortwert aus, damit das Hilfsprogramm zur Eingabe eines Passworts auffordert.

  • Geben Sie die Option --raw an, damit die Datei im Binärformat heruntergeladen wird.

  • --result-file: Geben Sie die lokale Datei an, die den raw-Output empfangen wird.

  • Geben Sie die Namen einer oder mehrerer Binärprotokolldateien an. Verwenden Sie für eine Liste der verfügbaren Protokolle den SQL-Befehl SHOW BINARY LOGS.

  • Geben Sie die Option --stop-never an, um die Binärprotokolldateien zu streamen.

Weitere Informationen über Optionen in mysqlbinlog finden Sie unter mysqlbinlog – Hilfsprogramm für die Verarbeitung binärer Protokolldateien.

Sehen Sie sich zum Beispiel Folgendes an.

Für Linux, macOS oder Unix:

mysqlbinlog \ --read-from-remote-server \ --host=MySQL56Instance1.cg034hpkmmjt.region.rds.amazonaws.com \ --port=3306 \ --user ReplUser \ --password \ --raw \ --result-file=/tmp/ \ binlog.00098

Für Windows:

mysqlbinlog ^ --read-from-remote-server ^ --host=MySQL56Instance1.cg034hpkmmjt.region.rds.amazonaws.com ^ --port=3306 ^ --user ReplUser ^ --password ^ --raw ^ --result-file=/tmp/ ^ binlog.00098

In der Regel bereinigt Amazon RDS binäre Protokolldateien so schnell wie möglich. Andererseits muss das binäre Protokoll immer noch auf der Instance verfügbar sein, auf die mysqlbinlog zugreifen soll. Verwenden Sie die gespeicherte Prozedur mysql.rds_set_configuration und geben Sie einen Zeitraum mit ausreichend Zeit für den Download der Protokolle an, um die Anzahl der Stunden zu bestimmen, die RDS zum Aufbewahren der Binärprotokolle beachten soll. 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.

Anmerkung

Die gespeicherte Prozedur mysql.rds_set_configuration ist nur für MySQL-Version 5.6 oder neuer verfügbar.

Das folgende Beispiel setzt den Aufbewahrungszeitraum auf 1 Tag.

call mysql.rds_set_configuration('binlog retention hours', 24);

Verwenden Sie die gespeicherte Prozedur mysql.rds_show_configuration, um die aktuelle Einstellung anzeigen zu lassen.

call mysql.rds_show_configuration;