

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Répliquer des transactions à l'aide de GTIDs
<a name="mysql-stored-proc-gtid"></a>

Les procédures stockées suivantes contrôlent la manière dont les transactions sont répliquées à l'aide des identificateurs de transaction globaux (GTIDs) avec Aurora MySQL. Pour savoir comment utiliser la réplication basée sur GTIDs Aurora MySQL, consultez[Utilisation de la réplication basée sur des identifiants de transaction globaux (GTID)](mysql-replication-gtid.md).

**Topics**
+ [mysql.rds\$1assign\$1gtids\$1to\$1anonymous\$1transactions (Aurora MySQL version 3)](#mysql_assign_gtids_to_anonymous_transactions)
+ [mysql.rds\$1gtid\$1purged (Aurora MySQL version 3)](#mysql_rds_gtid_purged)
+ [mysql.rds\$1skip\$1transaction\$1with\$1gtid (Aurora MySQL versions 2 et 3)](#mysql_rds_skip_transaction_with_gtid)
+ [mysql.rds\$1start\$1replication\$1until\$1gtid (Aurora MySQL version 3)](#mysql_rds_start_replication_until_gtid)

## mysql.rds\$1assign\$1gtids\$1to\$1anonymous\$1transactions (Aurora MySQL version 3)
<a name="mysql_assign_gtids_to_anonymous_transactions"></a>

Configure l’option `ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS` de l’instruction `CHANGE REPLICATION SOURCE TO`. Elle force le canal de réplication à attribuer un GTID à des transactions répliquées qui n’en possèdent pas. Vous pouvez ainsi effectuer une réplication de journaux binaires à partir d’une source qui n’utilise pas la réplication GTID vers un réplica qui l’utilise. Pour plus d'informations, consultez les sections [CHANGE REPLICATION SOURCE TO Statement](https://dev.mysql.com/doc/refman/8.0/en/change-replication-source-to.html) et [Replication From a Source Without GTIDs to a Replica With GTIDs](https://dev.mysql.com/doc/refman/8.0/en/replication-gtids-assign-anon.html) dans le *manuel de référence MySQL*.

### Syntaxe
<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\$1option*  
Valeur de chaîne. Les valeurs autorisées sont : `OFF`, `LOCAL` ou un UUID spécifié.

### Notes d’utilisation
<a name="mysql_assign_gtids_to_anonymous_transactions-usage-notes"></a>

Cette procédure a le même effet que l’émission de l’instruction `CHANGE REPLICATION SOURCE TO ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS = gtid_option` dans Community MySQL.

 Le GTID doit être converti en UUID `ON` *gtid\$1option* pour être défini sur un `LOCAL` UUID spécifique. 

La valeur par défaut est `OFF`, ce qui signifie que la fonctionnalité n’est pas utilisée.

`LOCAL` attribue un GTID incluant le propre UUID du réplica (paramètre `server_uuid`).

La transmission d’un paramètre correspondant à un UUID attribue un GTID qui inclut l’UUID spécifié, tel que le paramètre `server_uuid` pour le serveur source de réplication.

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

Pour désactiver cette fonction :

```
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)
```

Pour utiliser l’UUID du réplica :

```
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)
```

Pour utiliser un UUID spécifié :

```
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\$1gtid\$1purged (Aurora MySQL version 3)
<a name="mysql_rds_gtid_purged"></a>



Définit la valeur globale de la variable système `gtid_purged` sur un ensemble d’identifiants de transaction globaux (GTID) donné. La variable `gtid_purged` système est un ensemble GTID qui comprend toutes les transactions qui ont été validées sur le serveur, mais qui n'existent dans aucun fichier journal binaire du serveur. GTIDs 

Pour permettre la compatibilité avec MySQL 8.0, il existe deux manières de définir la valeur de `gtid_purged` :
+ Remplacez la valeur de `gtid_purged` par l’ensemble d’identifiants GTID que vous avez spécifié.
+ Ajoutez l’ensemble GTID que vous avez spécifié à l’ensemble d’identifiants GTID que `gtid_purged` contient déjà.

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

Pour remplacer la valeur de `gtid_purged` par l’ensemble d’identifiants GTID que vous avez spécifié :

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

Pour ajouter la valeur de `gtid_purged` à votre ensemble d’identifiants GTID que vous avez spécifié :

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

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

*gtid\$1set*  
La valeur de *gtid\$1set* doit être un sur-ensemble de la valeur actuelle de`gtid_purged`, et ne peut pas se croiser avec. `gtid_subtract(gtid_executed,gtid_purged)` En d'autres termes, le nouvel ensemble de GTID doit inclure ceux GTIDs qui y figuraient déjà`gtid_purged`, et ne peut pas inclure ceux `gtid_executed` qui n'ont pas encore été purgés. GTIDs Le *gtid\$1set* paramètre ne peut pas non plus inclure GTIDs celles figurant dans l'`gtid_owned`ensemble global, GTIDs pour les transactions en cours de traitement sur le serveur.

### Notes d’utilisation
<a name="mysql_rds_gtid_purged-usage-notes"></a>

L’utilisateur principal doit exécuter la procédure `mysql.rds_gtid_purged`.

Cette procédure est prise en charge pour Aurora MySQL versions 3.04 et ultérieures.

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

L’exemple suivant attribue le GTID `3E11FA47-71CA-11E1-9E33-C80AA9429562:23` à la variable globale `gtid_purged`.

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

## mysql.rds\$1skip\$1transaction\$1with\$1gtid (Aurora MySQL versions 2 et 3)
<a name="mysql_rds_skip_transaction_with_gtid"></a>

Ignore la réplication d’une transaction avec l’identifiant de transaction global (GTID) spécifié sur une instance principale Aurora.

Vous pouvez utiliser cette procédure pour la reprise après sinistre lorsqu’il est avéré qu’une transaction GTID entraîne des problèmes. Utilisez cette procédure stockée pour ignorer la transaction problématique. Les transactions problématiques sont par exemple celles qui désactivent la réplication, suppriment des données importantes ou entraînent l’indisponibilité de l’instance de base de données.

### Syntaxe
<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\$1to\$1skip*   
GTID de la transaction de réplication à ignorer.

### Notes d’utilisation
<a name="mysql_rds_skip_transaction_with_gtid-usage-notes"></a>

L’utilisateur principal doit exécuter la procédure `mysql.rds_skip_transaction_with_gtid`.

Cette procédure est prise en charge pour Aurora MySQL versions 2 et 3.

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

L’exemple suivant ignore la réplication de la transaction avec le GTID `3E11FA47-71CA-11E1-9E33-C80AA9429562:23`.

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

## mysql.rds\$1start\$1replication\$1until\$1gtid (Aurora MySQL version 3)
<a name="mysql_rds_start_replication_until_gtid"></a>

Lance la réplication à partir d’un cluster de bases de données Aurora MySQL et arrête la réplication immédiatement après l’identifiant de transaction global (GTID) spécifié.

### Syntaxe
<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*   
Identifiant de transaction global (GTID) après lequel la réplication s’arrête.

### Notes d’utilisation
<a name="mysql_rds_start_replication_until_gtid-usage-notes"></a>

L’utilisateur principal doit exécuter la procédure `mysql.rds_start_replication_until_gtid`.

Cette procédure est prise en charge pour Aurora MySQL versions 3.04 et ultérieures.

La procédure `mysql.rds_start_replication_until_gtid` stockée n’est pas prise en charge pour la réplication gérée, qui inclut les éléments suivants :
+ [Réplication de clusters de bases de données Amazon Aurora MySQL dans différentes Régions AWS](AuroraMySQL.Replication.CrossRegion.md)
+ [Migration des données d’une instance de base de données RDS for MySQL vers un cluster de bases de données Amazon Aurora MySQL à l’aide d’un réplica en lecture Aurora](AuroraMySQL.Migrating.RDSMySQL.Replica.md)

Lorsque le paramètre `gtid` spécifie une transaction ayant déjà été exécutée par le réplica, la réplication est immédiatement arrêtée.

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

L’exemple suivant lance la réplication et réplique les modifications jusqu’à ce que le GTID soit atteint `3E11FA47-71CA-11E1-9E33-C80AA9429562:23`.

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