Überblick über die SQL Datenbankprotokolle von for My - Amazon Relational Database Service

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.

Überblick über die SQL Datenbankprotokolle von for My

Sie können die folgenden Typen von überwachen:

  • Fehler-log

  • Slow-Query-Protokoll

  • Allgemeines Protokoll

  • Prüfungsprotokoll

Das for SQL My-Fehlerprotokoll wird standardmäßig generiert. Sie können die langsamen Abfrage- und allgemeinen Protokolle generieren, indem Sie Parameter in Ihrer DB-Parametergruppe festlegen.

for My SQL Fehlerprotokolle

for My SQL schreibt Fehler in die mysql-error.log Datei. An den Namen jeder Protokolldatei wird die Stunde angehängt, UTC in der sie generiert wurde. Die Protokolldateien verfügen auch über einen Zeitstempel, anhand dessen Sie feststellen können, wann die Protokolleinträge geschrieben wurden.

for My SQL schreibt nur beim Starten, Herunterfahren und wenn Fehler auftreten, in das Fehlerprotokoll. 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.

Konstruktionsbedingt werden die Fehlerprotokolle gefiltert, sodass nur unerwartete Ereignisse wie Fehler angezeigt werden. Die Fehlerprotokolle enthalten jedoch auch einige zusätzliche Datenbankinformationen, z. B. den Abfragefortschritt, die nicht angezeigt werden. Daher kann die Größe der Fehlerprotokolle auch ohne tatsächliche Fehler aufgrund laufender Datenbankaktivitäten zunehmen. Und obwohl Ihnen in den Fehlerprotokollen möglicherweise eine bestimmte Größe in Byte oder Kilobyte angezeigt wird AWS Management Console, haben sie beim Herunterladen möglicherweise 0 Byte.

for My SQL schreibt alle 5 Minuten mysql-error.log auf die Festplatte. Es fügt den Inhalt des Protokolls mysql-error-running.log an.

RDSfor My SQL dreht die mysql-error-running.log Datei jede Stunde. Es behält die in den letzten zwei Wochen erzeugten Protokolle bei.

Anmerkung

Die Aufbewahrungsfrist für Protokolle ist bei Amazon RDS und Aurora unterschiedlich.

Slow Query und allgemeine Logs

Sie können das Slow Query-Log und das allgemeine Protokoll in eine Datei oder eine Datenbanktabelle schreiben. Legen Sie dazu die Parameter in Ihrer DB-Parametergruppe fest. Weitere Informationen zum Erstellen und Ändern einer DB-Parametergruppe finden Sie unter Parametergruppen für Amazon RDS. Sie müssen diese Parameter festlegen, bevor Sie das Protokoll für langsame Abfragen oder das allgemeine Protokoll in der RDS Amazon-Konsole oder mithilfe von Amazon RDS API RDSCLI, Amazon oder anzeigen können AWS SDKs.

Sie können die SQL Protokollierung von for My mithilfe der Parameter in dieser Liste steuern:

  • 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: Damit vermieden wird, dass schnell ausgeführte Abfragen im Slow-Query-Protokoll aufgenommen werden, legen Sie die kürzeste Laufzeit für eine zu protokollierende Abfrage in Sekunden fest. Der Standardwert liegt bei 10 Sekunden, der Mindestwert bei 0. Wenn log_output = istFILE, können Sie einen Fließkommawert angeben, der einer Auflösung im Mikrosekundenbereich entspricht. Wenn log_output = istTABLE, müssen Sie einen Ganzzahlwert mit zweiter Auflösung angeben. 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. Abfragen, die keinen Index verwenden, werden protokolliert, auch wenn ihre Laufzeit niedriger als der Wert des Parameters long_query_time ist. Der Standardwert ist 0.

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

    • TABLE(Standard) — Schreiben Sie allgemeine Abfragen in die mysql.general_log Tabelle und langsame Abfragen in die mysql.slow_log Tabelle.

    • FILE— Schreibt sowohl allgemeine als auch langsame Abfrageprotokolle in das Dateisystem.

    • NONE— Deaktiviert die Protokollierung.

Weitere Informationen zu langsamen Abfragen und allgemeinen Protokollen finden Sie in der SQL Dokumentation Meine Dokumentation zu den folgenden Themen:

Mein SQL Audit-Log

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 für MySQL.

Rotation und Aufbewahrung von Protokollen RDS für My SQL

Wenn die Protokollierung aktiviert ist, RDS rotiert Amazon Tabellenprotokolle oder löscht Protokolldateien in regelmäßigen Abständen. Dies ist eine Vorsichtsmaßnahme, um möglichst zu vermeiden, dass eine umfangreiche Protokolldatei die Datenbanknutzung blockiert oder die Leistung beeinträchtigt. RDSfor My SQL geht wie folgt mit Rotation und Löschung um:

  • Die Größe der Protokolldateien My SQL slow query, des Fehlerprotokolls und der allgemeinen Protokolldateien ist auf nicht mehr als 2 Prozent des zugewiesenen Speicherplatzes für eine DB-Instance beschränkt. Um diesen Schwellenwert einzuhalten, werden die Protokolle automatisch stündlich gedreht. My SQL entfernt Protokolldateien, die älter als zwei Wochen sind. Wenn die kombinierte Größe der Protokolle nach dem Löschen von alten Protokolldateien den Schwellwert überschreitet, werden die ältesten Protokolldateien gelöscht, bis die Größe den Schwellwert nicht mehr überschreitet.

  • Wenn die FILE-Protokollierung aktiviert ist, werden Protokolldateien stündlich untersucht und Protokolldateien, die älter als zwei Wochen 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 ältesten 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 Tabellenprotokollen verwendete Speicherplatz mehr als 20 Prozent des zugeteilten Speicherplatzes ausmacht. Sie tritt auch auf, wenn die Größe aller kombinierten Protokolle 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 dann rotiert, wenn der von den Tabellenprotokollen verwendete Speicherplatz mehr als 10 Prozent des zugeteilten Speicherplatzes ausmacht. Sie werden auch rotiert, wenn die Größe aller kombinierten Protokolle 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 Mit RDS Amazon-Event-Benachrichtigungen arbeiten.

    Wenn Protokolltabellen rotiert werden, wird die aktuelle Protokolltabelle zuerst in eine Backup-Protokolltabelle kopiert. Dann werden die Einträge aus der aktuellen Protokolltabelle entfernt. Sofern bereits eine Sicherungsprotokolltabelle vorhanden ist, wird diese gelöscht, bevor die aktuelle Protokolltabelle ins Backup 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 von der RDS Amazon-Konsole, Amazon RDSAPI, Amazon RDS CLI oder zu arbeiten AWS SDKs, setzen Sie den log_output Parameter aufFILE. Wie das Protokoll Meine SQL Fehler werden auch diese Protokolldateien stündlich rotiert. Die Protokolldateien, die in den letzten zwei Wochen generiert wurden, werden aufbewahrt. Beachten Sie, dass die Aufbewahrungsfrist zwischen Amazon RDS und Aurora unterschiedlich ist.

Größenbeschränkungen für Redo-Protokolle

RDSFür My SQL Version 8.0.32 und niedriger ist der Standardwert dieses Parameters 256 MB. Dieser Betrag wird abgeleitet, indem der Standardwert des innodb_log_file_size Parameters (128 MB) mit dem Standardwert des Parameters (2) multipliziert innodb_log_files_in_group wird. Weitere Informationen finden Sie unter Bewährte Methoden für die Konfiguration von Parametern RDS für Amazon for MySQL, Teil 1: Leistungsparameter.

Ab SQL Version 8.0.33 RDS für My RDS verwendet Amazon den innodb_redo_log_capacity Parameter anstelle des innodb_log_file_size Parameters. Der RDS Amazon-Standardwert des innodb_redo_log_capacity Parameters ist 2 GB. Weitere Informationen finden Sie unter Änderungen in My SQL 8.0.30 in der Dokumentation zu MySQL.