

# Usar a replicação baseada em GTID
<a name="mysql-replication-gtid"></a>

O conteúdo a seguir explica como usar identificadores de transações globais (GTIDs) com a replicação de logs binários (binlog) entre instâncias de banco de dados do Amazon RDS para MySQL. 

Se você usa a replicação de logs binários e não conhece a replicação baseada em GTID com o MySQL, consulte [Replication with global transaction identifiers](https://dev.mysql.com/doc/refman/5.7/en/replication-gtids.html) na documentação do MySQL.

A replicação baseada em GTID é compatível com as seguintes versões:
+ Todas as versões do RDS para MySQL 8.4
+ Todas as versões do RDS para MySQL 8.0
+ Todas as versões do RDS para MySQL 5.7

Todas as instâncias de banco de dados do MySQL em uma configuração de replicação devem atender a esse requisito de versão.

**Topics**
+ [Visão geral dos identificadores de transações globais (GTIDs)](#mysql-replication-gtid.overview)
+ [Parâmetros para replicação baseada em GTID](#mysql-replication-gtid.parameters)
+ [Ativar a replicação baseada em GTID para novas réplicas de leitura para RDS para MySQL](mysql-replication-gtid.configuring-new-read-replicas.md)
+ [Ativar a replicação baseada em GTID para réplicas de leitura existentes para RDS para MySQL](mysql-replication-gtid.configuring-existing-read-replicas.md)
+ [Desabilitação da replicação baseada em GTID para uma instância de banco de dados do RDS for MySQL com réplicas de leitura](mysql-replication-gtid.disabling.md)

## Visão geral dos identificadores de transações globais (GTIDs)
<a name="mysql-replication-gtid.overview"></a>

*GTIDs* são identificadores exclusivos gerados para transações MySQL confirmadas. Você pode usar GTIDs para tornar a replicação de log binário mais simples e fácil de solucionar.

O MySQL usa dois tipos diferentes de transações para a replicação de log binário:
+ *Transações GTID* – Transações identificadas por um GTID.
+ *Transações anônimas* – transações que não têm um GTID atribuído.

Em uma configuração de replicação, GTIDs são exclusivos entre todas as instâncias de banco de dados. Os GTIDs simplificam a configuração da replicação porque ao usá-los você não precisa consultar posições de arquivo de log. Os GTIDs também facilitam o rastreamento de transações replicadas e a determinação da consistência da instância de origem e de réplicas.

É possível usar replicação baseada em GTID para replicar dados com réplicas de leitura do RDS for MySQL. É possível configurar a replicação baseada em GTID ao criar réplicas de leitura ou você pode converter réplicas de leitura existentes para usar a replicação baseada em GTID.

Você também pode utilizar a replicação baseada em GTID em uma configuração de replicação atrasada com o RDS for MySQL. Para ter mais informações, consulte [Configurar replicação atrasada com o MySQL](USER_MySQL.Replication.ReadReplicas.DelayReplication.md).

## Parâmetros para replicação baseada em GTID
<a name="mysql-replication-gtid.parameters"></a>

Use os parâmetros a seguir para configurar a replicação baseada em GTID.


| Parâmetro | Valores válidos | Descrição | 
| --- | --- | --- | 
|  `gtid_mode`  |  `OFF`, `OFF_PERMISSIVE`, `ON_PERMISSIVE`, `ON`  |  `OFF` especifica que novas transações são anônimas (ou seja, não têm GTIDs) e que uma transação deve ser anônima para ser replicada.  `OFF_PERMISSIVE` especifica que novas transações são anônimas, mas todas podem ser replicadas.  `ON_PERMISSIVE` especifica que novas transações são GTID, mas todas podem ser replicadas.  `ON` especifica que novas transações são GTID e que uma transação deve ser GTID para ser replicada.   | 
|  `enforce_gtid_consistency`  |  `OFF`, `ON`, `WARN`  |  `OFF` permite que as transações violem a consistência GTID.  `ON` evita que as transações violem a consistência GTID.  `WARN` permite que as transações violem a consistência GTID, mas gera um aviso quando ocorre uma violação.   | 

**nota**  
No Console de gerenciamento da AWS, o parâmetro `gtid_mode` aparece como `gtid-mode`.

Para a replicação baseada em GTID, use estas configurações para o grupo de parâmetros da instância de banco de dados ou réplica de leitura:
+ `ON` e `ON_PERMISSIVE` somente são aplicáveis à replicação de saída de uma instância de banco de dados do RDS. Esses dois valores fazem com que a sua instância de banco de dados do RDS usem GTIDs para transações que são replicadas. O `ON` requer que o banco de dados de destino também use a replicação baseada em GTID. O `ON_PERMISSIVE` torna a replicação baseada em GTID opcional no banco de dados de destino. 
+ `OFF_PERMISSIVE`, se definido, significa que as instâncias de banco de dados do RDS podem aceitar a replicação de entrada de um banco de dados de origem. Eles podem fazer isso independentemente de o banco de dados de origem usar a replicação baseada em GTID.
+ `OFF`, se definido, significa que sua instância de banco de dados do RDS apenas aceita a replicação de entrada de bancos de dados de origem que não usam a replicação baseada em GTID. 

Para obter mais informações sobre parameter groups, consulte [Grupos de parâmetros para Amazon RDS](USER_WorkingWithParamGroups.md).