Configurar a replicação atrasada com o MariaDB
Você pode usar a replicação atrasada como uma estratégia para a recuperação de desastres. Com a replicação atrasada, você especifica o tempo mínimo, em segundos, para atrasar a replicação da origem para a réplica de leitura. Em caso de um desastre, como uma tabela excluída acidentalmente, você executa as seguintes etapas para recuperar-se rapidamente do desastre:
-
Interrompa a replicação da réplica de leitura antes que a alteração que causou o desastre seja enviada para ela.
Use o procedimento armazenado mysql.rds_stop_replication para interromper a replicação.
-
Promova a réplica de leitura para ser a nova instância de banco de dados de origem usando as instruções em Promoção de uma réplica de leitura a uma instância de banco de dados autônoma.
nota
-
A replicação atrasada é compatível com o MariaDB 10.6 e posteriores.
-
Use procedimentos armazenados para configurar a replicação atrasada. Você não pode configurar a replicação atrasada com o AWS Management Console, a AWS CLI ou a API do Amazon RDS.
-
Você pode usar a replicação com base em identificadores de transação global (GTIDs) em uma configuração de replicação atrasada.
Tópicos
Configurar replicação atrasada durante a criação da réplica de leitura
Para configurar a replicação atrasada para qualquer réplica de leitura futura criada a partir de uma instância de banco de dados, execute o procedimento armazenado mysql.rds_set_configuration com o parâmetro target delay
.
Para configurar a replicação atrasada durante a criação da réplica de leitura
-
Usando um cliente MariaDB, conecte-se à instância de banco de dados MariaDB que será a origem para réplicas de leitura como o usuário primário.
-
Execute o procedimento armazenado mysql.rds_set_configuration com o parâmetro
target delay
.Por exemplo, execute o procedimento armazenado a seguir para especificar que a replicação é atrasada em pelo menos uma hora (3,600 segundos) para qualquer réplica de leitura criada a partir da instância de banco de dados atual.
call mysql.rds_set_configuration('target delay', 3600);
nota
Após executar esse procedimento armazenado, qualquer réplica de leitura que você criar usando a AWS CLI ou a API do Amazon RDS será configurada com a replicação atrasada pelo número de segundos especificado.
Modificar replicação atrasada de uma réplica de leitura existente
Para modificar a replicação atrasada para uma réplica de leitura existente, execute o procedimento armazenado mysql.rds_set_source_delay.
Para modificar a replicação atrasada para uma réplica de leitura existente
-
Usando um cliente do MariaDB, conecte-se à réplica de leitura como o usuário primário.
-
Use o procedimento armazenado mysql.rds_stop_replication para interromper a replicação.
-
Execute o procedimento armazenado mysql.rds_set_source_delay.
Por exemplo, execute o procedimento armazenado a seguir para especificar que a replicação para a réplica de leitura é atrasada em pelo menos uma hora (3.600 segundos) para qualquer réplica de leitura criada a partir da instância de banco de dados atual.
call mysql.rds_set_source_delay(3600);
-
Use o procedimento armazenado mysql.rds_start_replication para iniciar a replicação.
Promover uma réplica de leitura
Após a replicação ser interrompida, em um cenário de recuperação de desastres, você pode promover uma réplica de leitura para ser a nova instância de banco de dados de origem. Para obter informações sobre como promover uma réplica de leitura, consulte Promoção de uma réplica de leitura a uma instância de banco de dados autônoma.