

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.

# Replizieren von Transaktionen mithilfe von GTIDs
<a name="mysql-stored-proc-gtid"></a>

Die folgenden gespeicherten Verfahren steuern, wie Transaktionen mithilfe globaler Transaktionskennungen (GTIDs) mit RDS für MySQL repliziert werden. Weitere Informationen zur Verwendung der Replikation basierend auf globalen Transaktionskennungen (GTIDs) mit RDS für MySQL finden Sie unter [GTID-based Replikation verwenden](mysql-replication-gtid.md).

**Topics**
+ [mysql.rds\_assign\_gtids\_to\_anonymous\_transactions (Aurora MySQL Version 3)](#mysql_assign_gtids_to_anonymous_transactions)
+ [mysql.rds\_gtid\_purged (Aurora-MySQL-Version 3)](#mysql_rds_gtid_purged)
+ [mysql.rds\_skip\_transaction\_with\_gtid (Aurora MySQL Version 2 und 3)](#mysql_rds_skip_transaction_with_gtid)
+ [mysql.rds\_start\_replication\_until\_gtid (Aurora MySQL Version 3)](#mysql_rds_start_replication_until_gtid)

## mysql.rds\_assign\_gtids\_to\_anonymous\_transactions (Aurora MySQL Version 3)
<a name="mysql_assign_gtids_to_anonymous_transactions"></a>

Konfiguriert die `ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS`-Option der `CHANGE REPLICATION SOURCE TO`-Anweisung. Dadurch weist der Replikationskanal replizierten Transaktionen, die keine haben, eine GTID zu. Auf diese Weise können Sie die binäre Protokollreplikation von einer Quelle, die keine GTID-based Replikation verwendet, zu einem Replikat durchführen, das dies tut. Weitere Informationen finden Sie unter [CHANGE REPLICATION SOURCE TO Statement](https://dev.mysql.com/doc/refman/8.0/en/change-replication-source-to.html) und [Replikation von einer Quelle ohne GTIDs zu einer Replik mit GTIDs](https://dev.mysql.com/doc/refman/8.0/en/replication-gtids-assign-anon.html) im *MySQL-Referenzhandbuch*.

### Syntax
<a name="mysql_assign_gtids_to_anonymous_transactions-syntax"></a>

```
CALL mysql.rds_assign_gtids_to_anonymous_transactions({{gtid_option}});
```

### Parameters
<a name="mysql_assign_gtids_to_anonymous_transactions-parameters"></a>

 {{gtid\_option}}  
Zeichenfolgenwert Die erlaubten Werte sind `OFF`, `LOCAL`, oder eine angegebene UUID.

### Nutzungshinweise
<a name="mysql_assign_gtids_to_anonymous_transactions-usage-notes"></a>

Dieses Vorgehen hat die gleiche Wirkung wie das Absetzen der Anweisung `CHANGE REPLICATION SOURCE TO ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS = {{gtid_option}}` in Community MySQL.

 GTID muss aktiviert werden, `ON` {{gtid\_option}} um auf `LOCAL` oder eine bestimmte UUID gesetzt zu werden. 

Der Standardwert ist `OFF`, was bedeutet, dass die Funktion nicht verwendet wird.

`LOCAL` weist eine GTID einschließlich der eigenen UUID des Replikats (der `server_uuid`-Einstellung) zu.

Das Übergeben eines Parameters, bei dem es sich um eine UUID handelt, weist eine GTID zu, die die angegebene UUID enthält, z. B. die `server_uuid`-Einstellung für den Replikationsquellserver.

### Beispiele
<a name="mysql_assign_gtids_to_anonymous_transactions-examples"></a>

So deaktivieren Sie diese Funktion:

```
mysql> call mysql.rds_assign_gtids_to_anonymous_transactions('OFF');
+-------------------------------------------------------------+
| Message  |
+-------------------------------------------------------------+
| ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS has been set to: OFF |
+-------------------------------------------------------------+
1 row in set (0.07 sec)
```

So verwenden Sie die eigene UUID des Replikats:

```
mysql> call mysql.rds_assign_gtids_to_anonymous_transactions('LOCAL');
+---------------------------------------------------------------+
| Message  |
+---------------------------------------------------------------+
| ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS has been set to: LOCAL |
+---------------------------------------------------------------+
1 row in set (0.07 sec)
```

So verwenden Sie eine angegebene UUID:

```
mysql> call mysql.rds_assign_gtids_to_anonymous_transactions('317a4760-f3dd-3b74-8e45-0615ed29de0e');
+----------------------------------------------------------------------------------------------+
| Message |
+----------------------------------------------------------------------------------------------+
| ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS has been set to: 317a4760-f3dd-3b74-8e45-0615ed29de0e |
+----------------------------------------------------------------------------------------------+
1 row in set (0.07 sec)
```

## mysql.rds\_gtid\_purged (Aurora-MySQL-Version 3)
<a name="mysql_rds_gtid_purged"></a>



Legt den globalen Wert der Systemvariablen `gtid_purged` auf einen bestimmten Satz von globalen Transaktionskennungen (GTID) fest. Die Systemvariable `gtid_purged` ist ein GTID-Satz, der aus den GTIDs aller Transaktionen besteht, für die auf dem Server ein Commit ausgeführt wurde, die jedoch in keiner binären Logdatei auf dem Server vorhanden sind.

Es gibt zwei Möglichkeiten, den Wert `gtid_purged` festzulegen, um Kompatibilität mit MySQL 8.0 zu ermöglichen:
+ Ersetzen Sie den Wert `gtid_purged` durch Ihren angegebenen GTID-Set.
+ Fügen Sie Ihren angegebenen GTID-Satz an den GTID-Satz an, den `gtid_purged` bereits enthält.

### Syntax
<a name="mysql_rds_gtid_purged-syntax"></a>

So ersetzen Sie den Wert `gtid_purged` durch Ihren angegebenen GTID-Satz:

```
CALL mysql.rds_gtid_purged ({{gtid_set}});
```

So fügen Sie den Wert `gtid_purged` Ihrem angegebenen GTID-Satz an:

```
CALL mysql.rds_gtid_purged (+{{gtid_set}});
```

### Parameters
<a name="mysql_rds_gtid_purged-parameters"></a>

{{gtid\_set}}  
Der Wert von {{gtid\_set}} muss eine Obermenge des aktuellen Werts von sein und darf sich nicht mit `gtid_purged` diesem überschneiden. `gtid_subtract(gtid_executed,gtid_purged)` Das heißt, der neue GTID-Satz muss alle GTIDs enthalten, die bereits in `gtid_purged` enthalten waren, und darf keine GTIDs in `gtid_executed` enthalten, die noch nicht gelöscht wurden. Der {{gtid\_set}} Parameter darf auch keine GTIDs enthalten, die sich im globalen `gtid_owned` Satz befinden, also die GTIDs für Transaktionen, die derzeit auf dem Server verarbeitet werden.

### Nutzungshinweise
<a name="mysql_rds_gtid_purged-usage-notes"></a>

Die Prozedur `mysql.rds_gtid_purged` muss vom Hauptbenutzer ausgeführt werden.

Diese Prozedur wird für Aurora-MySQL-Version 3.04 und höher unterstützt.

### Beispiele
<a name="mysql_rds_gtid_purged-examples"></a>

Im folgenden Beispiel wird die GTID `3E11FA47-71CA-11E1-9E33-C80AA9429562:23` der globalen Variable `gtid_purged` zugewiesen.

```
CALL mysql.rds_gtid_purged('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');
```

## mysql.rds\_skip\_transaction\_with\_gtid (Aurora MySQL Version 2 und 3)
<a name="mysql_rds_skip_transaction_with_gtid"></a>

Überspringt die Replikation einer Transaktion mit der angegebenen globalen Transaktionskennung (GTID) auf einer primären Instance von Aurora.

Sie können dieses Verfahren für die Notfallwiederherstellung verwenden, wenn eine bestimmte GTID-Transaktion bekanntermaßen ein Problem verursacht. Verwenden Sie diese gespeicherte Prozedur, um die problematische Transaktion zu überspringen. Problematisch sind beispielsweise Transaktionen, die die Replikation deaktivieren, wichtige Daten löschen oder dafür sorgen, dass die DB-Instance nicht mehr verfügbar ist.

### Syntax
<a name="mysql_rds_skip_transaction_with_gtid-syntax"></a>

 

```
CALL mysql.rds_skip_transaction_with_gtid (
{{gtid_to_skip}}
);
```

### Parameters
<a name="mysql_rds_skip_transaction_with_gtid-parameters"></a>

 {{gtid\_to\_skip}}   
Die GTID der zu überspringenden Replikationstransaktion.

### Nutzungshinweise
<a name="mysql_rds_skip_transaction_with_gtid-usage-notes"></a>

Die Prozedur `mysql.rds_skip_transaction_with_gtid` muss vom Hauptbenutzer ausgeführt werden.

Diese Prozedur wird für Aurora-MySQL-Version 2 und 3 unterstützt.

### Beispiele
<a name="mysql_rds_skip_transaction_with_gtid-examples"></a>

Im folgenden Beispiel wird die Replikation der Transaktion mit der GTID übersprunge `3E11FA47-71CA-11E1-9E33-C80AA9429562:23`.

```
CALL mysql.rds_skip_transaction_with_gtid('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');
```

## mysql.rds\_start\_replication\_until\_gtid (Aurora MySQL Version 3)
<a name="mysql_rds_start_replication_until_gtid"></a>

Initiiert die Replikation von einer/einem Aurora-MySQL-DB-Cluster und stoppt die Replikation unmittelbar nach der angegebenen globalen Transaktionskennung (GTID).

### Syntax
<a name="mysql_rds_start_replication_until_gtid-syntax"></a>

 

```
CALL mysql.rds_start_replication_until_gtid({{gtid}});
```

### Parameters
<a name="mysql_rds_start_replication_until_gtid-parameters"></a>

 {{gtid}}   
Die GTID, nach der die Replikation stoppen soll.

### Nutzungshinweise
<a name="mysql_rds_start_replication_until_gtid-usage-notes"></a>

Die Prozedur `mysql.rds_start_replication_until_gtid` muss vom Hauptbenutzer ausgeführt werden.

Diese Prozedur wird für Aurora-MySQL-Version 3.04 und höher unterstützt.

Die gespeicherte Prozedur `mysql.rds_start_replication_until_gtid` wird für die verwaltete Replikation nicht unterstützt, darunter Folgendes:
+ [Replizieren von Amazon Aurora MySQL-DB-Clustern zwischen AWS-Regionen](AuroraMySQL.Replication.CrossRegion.md)
+ [Migrieren von Daten aus einer RDS-für-MySQL-DB-Instance zu einem Amazon-Aurora-MySQL-DB-Cluster mittels einer Aurora Read Replica (Lesereplikat)](AuroraMySQL.Migrating.RDSMySQL.Replica.md)

Wenn der Parameter `gtid` eine Transaktion angibt, die bereits von dem Replikat ausgeführt wurde, wird die Replikation sofort gestoppt.

### Beispiele
<a name="mysql_rds_start_replication_until_gtid-examples"></a>

Das folgende Beispiel initiiert die Replikation und repliziert die Änderungen, bis die GTID erreicht wir `3E11FA47-71CA-11E1-9E33-C80AA9429562:23`.

```
call mysql.rds_start_replication_until_gtid('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');
```