Usar a replicação baseada em GTID - Amazon Aurora

Usar a replicação baseada em GTID

O conteúdo a seguir explica como usar identificadores de transações globais (GTIDs) com a replicação de logs binários (binlog) entre um cluster do Aurora MySQL e uma fonte externa.

nota

Para o Aurora, você só pode usar esse recurso com clusters do Aurora MySQL que usem replicação de logs binários para ou de um banco de dados MySQL externo. O outro banco de dados pode ser uma instância do Amazon RDS MySQL, um banco de dados MySQL on-premises ou um cluster de banco de dados do Aurora em uma Região da AWS diferente. Para saber mais sobre como configurar esse tipo de replicação, consulte Replicação entre Aurora e o MySQL ou entre Aurora e outro cluster de banco de dados do Aurora (replicação de log binário).

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 na documentação do MySQL.

A replicação baseada em GTID é compatível com o Aurora MySQL versões 2 e 3.

Visão geral dos identificadores de transações globais (GTIDs)

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.

nota

Quando o Aurora sincroniza dados entre as instâncias de banco de dados em um cluster, esse mecanismo de replicação não envolve o log binário (binlog). Para o Aurora MySQL, a replicação baseada em GTID somente é aplicável quando você também usa a replicação de log binário para replicar dentro ou fora de um cluster de banco de dados do Aurora MySQL a partir de um banco de dados externo compatível com MySQL.

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.

Normalmente, você usa a replicação baseada em GTID com o Aurora ao replicar de um banco de dados externo compatível com MySQL para um cluster do Aurora. É possível configurar essa configuração de replicação como parte de uma migração de um banco de dados no local ou do Amazon RDS para o Aurora MySQL. Se o banco de dados externo já usa GTIDs, a ativação da replicação baseada em GTID para o cluster do Aurora simplificará o processo de replicação.

Você configura a replicação baseada em GTID para um cluster do Aurora MySQL definindo primeiro os parâmetros de configuração relevantes em um grupo de parâmetros de cluster de banco de dados. Em seguida, você associa esse grupo de parâmetros ao cluster.

Parâmetros para replicação baseada em GTID

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 AWS Management Console, o parâmetro gtid_mode aparece como gtid-mode.

Para a replicação baseada em GTID, use essas configurações para o grupo de parâmetros de cluster de banco de dados do seu cluster de banco de dados do Aurora MySQL:

  • ON e ON_PERMISSIVE somente são aplicáveis à replicação de saída de um cluster do Aurora MySQL. Esses dois valores fazem com que o seu cluster de banco de dados do Aurora use GTIDs para transações que são replicadas para um banco de dados externo. O ON requer que o banco de dados externo também use a replicação baseada em GTID. O ON_PERMISSIVE torna a replicação baseada em GTID opcional no banco de dados externo.

  • OFF_PERMISSIVE, se definido, significa que o cluster de banco de dados do Aurora pode aceitar a replicação de entrada de um banco de dados externo. Ele pode fazer isso independentemente de o banco de dados externo usar a replicação baseada em GTID ou não.

  • OFF, se definido, significa que seu cluster de banco de dados do Aurora apenas aceita a replicação de entrada de bancos de dados externos que não usam a replicação baseada em GTID.

dica

A replicação de entrada é o cenário de replicação de log binário mais comum para clusters do Aurora MySQL. Para a replicação de entrada, recomendamos definir o modo de GTID como OFF_PERMISSIVE. Essa configuração permite a replicação de entrada de bancos de dados externos, independentemente das configurações de GTID na origem de replicação.

Para obter mais informações sobre parameter groups, consulte Grupos de parâmetros para Amazon Aurora.