Replicar transações com GTIDs
Os procedimentos armazenados a seguir controlam como as transações são replicadas usando identificadores de transações globais (GTIDs) com o RDS para MySQL. Para ter mais informações sobre replicação com base em GTIDs com o RDS para MySQL, consulte Usar a replicação baseada em GTID.
mysql.rds_skip_transaction_with_gtid
Ignora a replicação de uma transação com o identificador de transação global (GTID) especificado em uma instância de banco de dados MySQL.
Você pode usar esse procedimento para a recuperação de desastres, quando uma transação baseada em GTID específica for conhecida por causar desastres. Use esse procedimento armazenado para ignorar a transação problemática. Exemplos de transações problemáticas incluem transações que desabilitam a replicação, excluem dados importantes ou fazem com que a instância de banco de dados se torne indisponível.
Sintaxe
CALL mysql.rds_skip_transaction_with_gtid (
gtid_to_skip
);
Parâmetros
-
gtid_to_skip
-
O GTID da transação de replicação a ser ignorada.
Observações de uso
O usuário principal deve executar o procedimento mysql.rds_skip_transaction_with_gtid
.
Esse procedimento é compatível com todas as versões 5.7 do RDS para MySQL e com o RDS para MySQL 8.0.26 e versões 8.0 posteriores.
Exemplos
O exemplo a seguir ignora a replicação da transação com o GTID 3E11FA47-71CA-11E1-9E33-C80AA9429562:23
.
CALL mysql.rds_skip_transaction_with_gtid('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');
mysql.rds_start_replication_until_gtid
Inicia a replicação de uma instância de banco de dados do RDS para MySQL e interrompe a replicação logo depois do identificador de transação global (GTID) especificado.
Sintaxe
CALL mysql.rds_start_replication_until_gtid(
gtid
);
Parâmetros
-
gtid
-
O GTID após o qual a replicação será interrompida.
Observações de uso
O usuário principal deve executar o procedimento mysql.rds_start_replication_until_gtid
.
Esse procedimento é compatível com todas as versões 5.7 do RDS para MySQL e com o RDS para MySQL 8.0.26 e versões 8.0 posteriores.
Você pode usar esse procedimento com a replicação atrasada para recuperação de desastres. Se você tiver a replicação atrasada configurada, use esse procedimento para efetuar roll forward de alterações em uma réplica de leitura atrasada para o momento imediatamente antes de um desastre. Depois que esse procedimento interromper a replicação, é possível promover a réplica de leitura para ser a nova instância de banco de dados primária usando as instruções em Promoção de uma réplica de leitura a uma instância de banco de dados autônoma.
Você pode configurar a replicação atrasada usando os seguintes procedimentos armazenados:
Quando o parâmetro gtid
especifica uma transação que já tenha sido executada pela réplica, a replicação é interrompida imediatamente.
Exemplos
O exemplo a seguir inicia a replicação e replica as alterações até atingir o GTID 3E11FA47-71CA-11E1-9E33-C80AA9429562:23
.
call mysql.rds_start_replication_until_gtid('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');