

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Replica delle transazioni utilizzando GTIDs
<a name="mysql-stored-proc-gtid"></a>

Le seguenti stored procedure controllano il modo in cui le transazioni vengono replicate utilizzando gli identificatori di transazione globali (GTIDs) con Aurora MySQL. Per informazioni su come utilizzare la replica basata su GTIDs Aurora MySQL, consulta. [Utilizzo della replica basata su GTID](mysql-replication-gtid.md)

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

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

Configura l'opzione `ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS` dell'istruzione `CHANGE REPLICATION SOURCE TO`. Il canale di replica assegna così un GTID alle transazioni replicate che non ne hanno uno. In questo modo, è possibile eseguire la replica del log binario da un'origine che non utilizza la replica basata su GTID in una replica che lo usa. *Per ulteriori informazioni, vedere [CHANGE REPLICATION SOURCE TO Statement and Replication From a](https://dev.mysql.com/doc/refman/8.0/en/change-replication-source-to.html) [Source Without GTIDs to a Replica With GTIDs](https://dev.mysql.com/doc/refman/8.0/en/replication-gtids-assign-anon.html) nel MySQL Reference Manual.*

### Sintassi
<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*  
Valore di stringa. I valori consentiti sono `OFF`, `LOCAL` o un UUID specificato.

### Note per l’utilizzo
<a name="mysql_assign_gtids_to_anonymous_transactions-usage-notes"></a>

Questa procedura ha lo stesso effetto del rilascio dell'istruzione `CHANGE REPLICATION SOURCE TO ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS = gtid_option` nella community MySQL.

 GTID deve essere impostato su o su un `ON` UUID specifico. *gtid\$1option* `LOCAL` 

Il valore predefinito è `OFF`, il che significa che la funzione non viene utilizzata.

`LOCAL` assegna un GTID incluso l'UUID della replica (l'impostazione `server_uuid`).

Il passaggio di un parametro che è un UUID assegna un GTID che include l'UUID specificato, ad esempio l'impostazione `server_uuid` per il server di fonte di replica.

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

Per disattivare questa funzione:

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

Per utilizzare l'UUID della replica:

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

Per utilizzare un UUID specificato:

```
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 versione 3)
<a name="mysql_rds_gtid_purged"></a>



Imposta il valore globale della variabile di sistema `gtid_purged` su un set di ID globali di transazione (GTID) specificato. La variabile di `gtid_purged` sistema è un set GTID composto da tutte le transazioni che sono state eseguite sul server, ma che non esistono in alcun file di registro binario sul server. GTIDs 

Per consentire la compatibilità con MySQL 8.0, esistono due modi per impostare il valore di `gtid_purged`:
+ Sostituire il valore di `gtid_purged` con il set di GTID specificato.
+ Aggiungere il set di GTID specificato al set di GTID già contenuto in `gtid_purged`.

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

Per sostituire il valore di `gtid_purged` con il set di GTID specificato:

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

Per aggiungere il valore di `gtid_purged` con al set di GTID specificato:

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

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

*gtid\$1set*  
Il valore di *gtid\$1set* deve essere un superset del valore corrente di `gtid_purged` e non può intersecarsi con. `gtid_subtract(gtid_executed,gtid_purged)` Cioè, il nuovo set GTID deve includere quelli già presenti GTIDs `gtid_purged` e non può includere quelli `gtid_executed` che non sono ancora GTIDs stati eliminati. Inoltre, il *gtid\$1set* parametro non può includere GTIDs quelli presenti nel `gtid_owned` set globale, vale a dire GTIDs per le transazioni attualmente in corso di elaborazione sul server.

### Note per l’utilizzo
<a name="mysql_rds_gtid_purged-usage-notes"></a>

La procedura `mysql.rds_gtid_purged` deve essere eseguita dall’utente master.

Questa procedura è supportata per Aurora MySQL versione 3.04 e successive.

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

L'esempio seguente assegna il GTID `3E11FA47-71CA-11E1-9E33-C80AA9429562:23` alla variabile globale `gtid_purged`.

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

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

Ignora la replica di una transazione con l'ID globale di transazione (GTID) specificato in un'istanza primaria Aurora.

Puoi usare questa procedura per il ripristino di emergenza quando è noto che una specifica transazione GTID causa un problema. Usa questa stored procedure per saltare la transazione problematica. Esempi di transazioni problematiche includono le transazioni che disabilitano la replica, eliminano dati importanti o con le quali l'istanza database diventa non disponibile.

### Sintassi
<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 della transazione di replica da ignorare.

### Note per l'utilizzo
<a name="mysql_rds_skip_transaction_with_gtid-usage-notes"></a>

La procedura `mysql.rds_skip_transaction_with_gtid` deve essere eseguita dall’utente master.

Questa procedura è supportata per Aurora MySQL versione 2 e 3.

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

Nell'esempio seguente viene ignorata la replica della transazione con il 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 versione 3)
<a name="mysql_rds_start_replication_until_gtid"></a>

Avvia la replica da un cluster di database Aurora MySQL e la arresta immediatamente dopo l'ID globale di transazione (GTID) specificato.

### Sintassi
<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*   
Il GTID dopo il quale deve essere arrestata la replica.

### Note per l'utilizzo
<a name="mysql_rds_start_replication_until_gtid-usage-notes"></a>

La procedura `mysql.rds_start_replication_until_gtid` deve essere eseguita dall’utente master.

Questa procedura è supportata per Aurora MySQL versione 3.04 e successive.

La stored procedure `mysql.rds_start_replication_until_gtid` non è supportata per la replica gestita, che include quanto segue:
+ [Repliche di cluster di database Amazon Aurora MySQL tra Regioni AWS](AuroraMySQL.Replication.CrossRegion.md)
+ [Migrazione di dati da un'istanza database RDS per MySQL a un cluster database Amazon Aurora MySQL utilizzando una replica di lettura Aurora](AuroraMySQL.Migrating.RDSMySQL.Replica.md)

Quando il parametro `gtid` specifica una transazione che è già stata eseguita dalla replica, la procedura viene arrestata immediatamente.

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

L'esempio seguente avvia la replica e replica le modifiche finché non raggiunge il GTID `3E11FA47-71CA-11E1-9E33-C80AA9429562:23`.

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