Einrichten eines erweiterten Binärprotokolls für Aurora MySQL - Amazon Aurora

Einrichten eines erweiterten Binärprotokolls für Aurora MySQL

Das erweiterte Binärprotokoll reduziert den durch die Aktivierung des Binärprotokolls verursachten Rechenleistungs-Overhead, der in bestimmten Fällen bis zu 50 % betragen kann. Mit einem erweiterten Binärprotokoll kann dieser Overhead auf etwa 13 % reduziert werden. Damit der Overhead reduziert wird, schreibt das erweiterte Binärprotokoll die Binär- und Transaktionsprotokolle parallel in den Speicher, wodurch die zum Zeitpunkt des Transaktions-Commits geschriebenen Daten minimiert werden.

Die Verwendung des erweiterten Binärprotokolls verbessert außerdem die Datenbankwiederherstellungszeit nach Neustarts und Failovers um bis zu 99 % im Vergleich zum Community-MySQL-Binärprotokoll.  Das erweiterte Binärprotokoll ist mit bestehenden binlogbasierten Workloads kompatibel und Sie interagieren damit genauso wie mit dem Community-MySQL-Binärprotokoll.

Das erweiterte Binärprotokoll ist in Aurora-MySQL-Version 3.03.1 und höher verfügbar.

Konfiguration erweiterter Binärprotokollparameter

Sie können zwischen Community-MySQL-Binärprotokoll und erweitertem Binärprotokoll wechseln, indem Sie die Parameter für das erweiterte Binärprotokoll aktivieren/deaktivieren. Die bestehenden Binärprotokollbenutzer können die Binärprotokolldateien weiterhin lesen und verarbeiten, ohne dass es zu Lücken in der Binärprotokolldateifolge kommt.

Stellen Sie die folgenden Parameter ein, um das erweiterte Binärprotokoll zu aktivieren:

Parameter Standard Beschreibung
binlog_format Legen Sie den Parameter binlog_format auf das binäre Protokollierungsformat Ihrer Wahl fest, um das erweiterte Binärprotokoll zu aktivieren. Stellen Sie sicher, dass der binlog_format parameter nicht auf AUS eingestellt ist. Weitere Informationen finden Sie unter Konfiguration der binären Protokollierung mit Aurora MySQL.
aurora_enhanced_binlog 0 Legen Sie den Wert dieses Parameters in der Parametergruppe des DB-Clusters, die mit dem Aurora-MySQL-Cluster verknüpft ist, auf 1 fest. Wenn Sie den Wert dieses Parameters ändern, müssen Sie die Writer-Instance neu starten, wenn für den Wert DBClusterParameterGroupStatus pending-reboot angezeigt wird.
binlog_backup 1 Deaktivieren Sie diesen Parameter, um das erweiterte Binärprotokoll zu aktivieren. Legen Sie dazu den Wert dieses Parameters auf 0 fest.
binlog_replication_globaldb 1 Deaktivieren Sie diesen Parameter, um das erweiterte Binärprotokoll zu aktivieren. Legen Sie dazu den Wert dieses Parameters auf 0 fest.
Wichtig

Sie können die Parameter binlog_backup und binlog_replication_globaldb nur deaktivieren, wenn Sie das erweiterte Binärprotokoll verwenden.

Stellen Sie die folgenden Parameter ein, um das erweiterte Binärprotokoll zu deaktivieren:

Parameter Beschreibung
aurora_enhanced_binlog Legen Sie den Wert dieses Parameters in der Parametergruppe des DB-Clusters, die mit dem Aurora-MySQL-Cluster verknüpft ist, auf 0 fest. Sobald Sie den Wert dieses Parameters ändern, müssen Sie die Writer-Instance neu starten, wenn für den Wert DBClusterParameterGroupStatus pending-reboot angezeigt wird.
binlog_backup Aktivieren Sie diesen Parameter, wenn Sie das erweiterte Binärprotokoll deaktivieren. Legen Sie dazu den Wert dieses Parameters auf 1 fest.
binlog_replication_globaldb Aktivieren Sie diesen Parameter, wenn Sie das erweiterte Binärprotokoll deaktivieren. Legen Sie dazu den Wert dieses Parameters auf 1 fest.

Um zu überprüfen, ob das erweiterte Binärprotokoll aktiviert ist, verwenden Sie den folgenden Befehl im MySQL-Client:

mysql>show status like 'aurora_enhanced_binlog'; +------------------------+--------+ | Variable_name | Value | +------------------------+--------+ | aurora_enhanced_binlog | ACTIVE | +------------------------+--------+ 1 row in set (0.00 sec)

Wenn das erweiterte Binärprotokoll aktiviert ist, wird in der Ausgabe ACTIVE für aurora_enhanced_binlog angezeigt.

Sonstige zugehörige Parameter

Wenn Sie das erweiterte Binärprotokoll aktivieren, sind folgende Parameter betroffen:

  • Der Parameter max_binlog_size ist sichtbar, kann aber nicht geändert werden. Sein Standardwert 134217728 wird automatisch in 268435456 geändert, wenn das erweiterte Binärprotokoll aktiviert ist.

  • Im Gegensatz zum Community-MySQL-Binärprotokoll fungiert binlog_checksum nicht als dynamischer Parameter, wenn das erweiterte Binärprotokoll aktiviert ist. Damit die Änderung an diesem Parameter wirksam wird, müssen Sie den DB-Cluster manuell neu starten, auch wenn für ApplyMethod immediate festgelegt ist.

  • Der Wert, den Sie für den Parameter binlog_order_commits festlegen, hat keinen Einfluss auf die Reihenfolge der Commits, wenn das erweiterte Binärprotokoll aktiviert ist. Die Commits werden immer ohne weitere Auswirkungen auf die Leistung angeordnet.

Unterschiede zwischen erweitertem Binärprotokoll und Community-MySQL-Binärprotokoll

Das erweiterte Binärprotokoll interagiert anders mit Klonen, Backups und der globalen Aurora-Datenbank als das Community-MySQL-Binärprotokoll. Bevor Sie das erweiterte Binärprotokoll verwenden, sollten Sie sich mit den folgenden Unterschieden vertraut machen.

  • Erweiterte Binärprotokolldateien aus dem Quell-DB-Cluster sind in einem geklonten DB-Cluster nicht verfügbar.

  • Erweiterte Binärprotokolldateien sind in Aurora-Backups nicht enthalten. Daher sind erweiterte Binärprotokolldateien aus dem Quell-DB-Cluster nach der Wiederherstellung eines DB-Clusters trotz einer für ihn festgelegten Aufbewahrungsfrist nicht verfügbar.

  • Bei Verwendung mit einer globalen Aurora-Datenbank werden die erweiterten Binärprotokolldateien des primären DB-Clusters nicht auf den DB-Cluster in den sekundären Regionen repliziert.

Beispiele

Die folgenden Beispiele veranschaulichen die Unterschiede zwischen dem erweiterten Binärprotokoll und dem Community-MySQL-Binärprotokoll.

Auf einem wiederhergestellten oder geklonten DB-Cluster

Wenn das erweiterte Binärprotokoll aktiviert ist, sind die historischen Binärprotokolldateien im wiederhergestellten oder geklonten DB-Cluster nicht verfügbar. Wenn das Binärprotokoll aktiviert ist, beginnt der neue DB-Cluster nach einem Wiederherstellungs- oder Klonvorgang, seine eigene Reihenfolge von Binärprotokolldateien zu schreiben, beginnend mit 1 (mysql-bin-changelog 000001).

Um das erweiterte Binärprotokoll nach einem Wiederherstellungs- oder Klonvorgang zu aktivieren, legen Sie die erforderlichen DB-Cluster-Parameter auf dem wiederhergestellten oder geklonten DB-Cluster fest. Weitere Informationen finden Sie unter Konfiguration erweiterter Binärprotokollparameter.

Beispiel: Ausführung des Klon- oder Wiederherstellungsvorgangs, wenn das erweiterte Binärprotokoll aktiviert ist

Quell-DB-Cluster:

mysql> show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000001 | 156 | No | | mysql-bin-changelog.000002 | 156 | No | | mysql-bin-changelog.000003 | 156 | No | | mysql-bin-changelog.000004 | 156 | No | --> Enhanced Binlog turned on | mysql-bin-changelog.000005 | 156 | No | --> Enhanced Binlog turned on | mysql-bin-changelog.000006 | 156 | No | --> Enhanced Binlog turned on +----------------------------+-----------+-----------+ 6 rows in set (0.00 sec)

In einem wiederhergestellten oder geklonten DB-Cluster werden Binärprotokolldateien nicht gesichert, wenn das erweiterte Binärprotokoll aktiviert ist. Um Unterbrechungen in den Binärprotokolldaten zu vermeiden, sind die Binärprotokolldateien, die vor dem Aktivieren des erweiterten Binärprotokolls geschrieben wurden, ebenfalls nicht verfügbar.

mysql>show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000001 | 156 | No | --> New sequence of Binlog files +----------------------------+-----------+-----------+ 1 row in set (0.00 sec)
Beispiel: Ausführung des Klon- oder Wiederherstellungsvorgangs, wenn das erweiterte Binärprotokoll deaktiviert ist

DB-Quellcluster:

mysql>show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000001 | 156 | No | | mysql-bin-changelog.000002 | 156 | No | --> Enhanced Binlog enabled | mysql-bin-changelog.000003 | 156 | No | --> Enhanced Binlog enabled | mysql-bin-changelog.000004 | 156 | No | | mysql-bin-changelog.000005 | 156 | No | | mysql-bin-changelog.000006 | 156 | No | +----------------------------+-----------+-----------+ 6 rows in set (0.00 sec)

Das erweiterte Binärprotokoll wird nach mysql-bin-changelog.000003 deaktiviert. In einem wiederhergestellten oder geklonten DB-Cluster sind Binärprotokolldateien verfügbar, die nach dem Deaktivieren des erweiterten Binärprotokoll geschrieben wurden.

mysql>show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000004 | 156 | No | | mysql-bin-changelog.000005 | 156 | No | | mysql-bin-changelog.000006 | 156 | No | +----------------------------+-----------+-----------+ 1 row in set (0.00 sec)

In einer Amazon Aurora Global Database

In einer Amazon Aurora Global Database werden die Binärprotokolldaten des primären DB-Clusters nicht auf den sekundären DB-Cluster repliziert. Nach einem regionsübergreifenden Failover-Prozess sind die Binärprotokolldaten im neu hochgestuften primären DB-Cluster nicht verfügbar. Wenn das Binärprotokoll aktiviert ist, beginnt der neu hochgestufte DB-Cluster mit seiner eigenen Reihenfolge von Binärprotokolldateien, beginnend mit 1 (mysql-bin-changelog 000001).

Um das erweiterte Binärprotokoll nach einem Failover zu aktivieren, müssen Sie die erforderlichen DB-Cluster-Parameter auf dem sekundären DB-Cluster festlegen. Weitere Informationen finden Sie unter Konfiguration erweiterter Binärprotokollparameter.

Beispiel: Ausführen eines globalen Datenbank-Failovers, wenn das erweiterte Binärprotokoll aktiviert ist

Alter primärer DB-Cluster (vor dem Failover):

mysql>show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000001 | 156 | No | | mysql-bin-changelog.000002 | 156 | No | | mysql-bin-changelog.000003 | 156 | No | | mysql-bin-changelog.000004 | 156 | No | --> Enhanced Binlog enabled | mysql-bin-changelog.000005 | 156 | No | --> Enhanced Binlog enabled | mysql-bin-changelog.000006 | 156 | No | --> Enhanced Binlog enabled +----------------------------+-----------+-----------+ 6 rows in set (0.00 sec)

Neuer primärer DB-Cluster (nach dem Failover):

Binärprotokolldateien werden nicht in sekundäre Regionen repliziert, wenn das erweiterte Binärprotokoll aktiviert ist. Um Unterbrechungen in den Binärprotokolldaten zu vermeiden, sind die Binärprotokolldateien, die vor dem Aktivieren des erweiterten Binärprotokolls geschrieben wurden, nicht verfügbar.

mysql>show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000001 | 156 | No | --> Fresh sequence of Binlog files +----------------------------+-----------+-----------+ 1 row in set (0.00 sec)
Beispiel: Ausführen eines globalen Datenbank-Failovers, wenn das erweiterte Binärprotokoll deaktiviert ist

Quell-DB-Cluster:

mysql>show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000001 | 156 | No | | mysql-bin-changelog.000002 | 156 | No | --> Enhanced Binlog enabled | mysql-bin-changelog.000003 | 156 | No | --> Enhanced Binlog enabled | mysql-bin-changelog.000004 | 156 | No | | mysql-bin-changelog.000005 | 156 | No | | mysql-bin-changelog.000006 | 156 | No | +----------------------------+-----------+-----------+ 6 rows in set (0.00 sec)

Wiederhergestellter oder geklonter DB-Cluster:

Das erweiterte Binärprotokoll wird nach mysql-bin-changelog.000003 deaktiviert. Binärprotokolldateien, die nach dem Deaktivieren des erweiterten Binärprotokolls geschrieben wurden, werden repliziert und sind im neu hochgestuften DB-Cluster verfügbar.

mysql>show binary logs; +----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | +----------------------------+-----------+-----------+ | mysql-bin-changelog.000004 | 156 | No | | mysql-bin-changelog.000005 | 156 | No | | mysql-bin-changelog.000006 | 156 | No | +----------------------------+-----------+-----------+ 3 rows in set (0.00 sec)

Amazon-CloudWatch-Metriken für das erweiterte Binärprotokoll

Die folgenden Amazon-CloudWatch-Metriken werden nur veröffentlicht, wenn das erweiterte Binärprotokoll aktiviert ist.

CloudWatch-Metrik Beschreibung Einheiten
ChangeLogBytesUsed Die Menge des vom Speicherplatzes, der vom erweiterten Binärprotokoll belegt wird. Bytes
ChangeLogReadIOPs Die Anzahl von Lese-I/O-Operationen, die im erweiterten Binärprotokoll in einem fünfminütigen Intervalls durchgeführt wurden. Anzahl pro 5 Minuten
ChangeLogWriteIOPs Die Anzahl von Schreib-I/O-Operationen, die im erweiterten Binärprotokoll in einem fünfminütigen Intervalls durchgeführt wurden. Anzahl pro 5 Minuten

Beschränkungen für das erweiterte Binärprotokoll

Die folgenden Einschränkungen gelten für DB-Cluster von Amazon Aurora, wenn das erweiterte Binärprotokoll aktiviert ist.

  • Das erweiterte Binärprotokoll wird nur in Aurora-MySQL-Version 3.03.1 und höher unterstützt.

  • Die auf dem primären DB-Cluster geschriebenen erweiterten Binärprotokolldateien werden nicht in die geklonten oder wiederhergestellten DB-Cluster kopiert.

  • Bei Verwendung mit Amazon Aurora Global Database werden die erweiterten Binärprotokolldateien des primären DB-Clusters nicht auf sekundäre DB-Cluster repliziert. Daher sind die historischen Binärprotokolldaten nach dem Failover-Prozess im neuen primären DB-Cluster nicht verfügbar.

  • Die folgenden Binärprotokoll-Konfigurationsparameter werden ignoriert:

    • binlog_group_commit_sync_delay

    • binlog_group_commit_sync_no_delay_count

    • binlog_max_flush_queue_time

  • Sie können eine beschädigte Tabelle in einer Datenbank nicht löschen oder umbenennen. Um diese Tabellen zu löschen, können Sie sich an Support wenden.

  • Der Binärprotokoll-I/O-Cache ist deaktiviert, wenn das erweiterte Binärprotokoll aktiviert ist. Weitere Informationen finden Sie unter Optimieren einer binären Protokollreplikation für Aurora MySQL.

    Anmerkung

    Das erweiterte Binärprotokoll bietet ähnliche Verbesserungen der Leseleistung wie der Binärprotokoll-I/O-Cache und deutliche Verbesserungen der Schreibleistung.

  • Die Rückverfolgungsfunktion wird nicht unterstützt. Das erweiterte Binärprotokoll kann in einem DB-Cluster unter den folgenden Bedingungen nicht aktiviert werden:

    • Für den DB-Cluster ist derzeit die Rückverfolgungsfunktion aktiviert.

    • Für den DB-Cluster wurde die zuvor aktivierte Rückverfolgungsfunktion inzwischen deaktiviert.

    • Der DB-Cluster wurde aus einem Quell-DB-Cluster oder einem Snapshot mit aktivierter Rückverfolgungsfunktion wiederhergestellt.