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.
Ao usar procedimentos armazenados para gerenciar a replicação com um usuário de replicação configurado com caching_sha2_password, você deve configurar o TLS especificando SOURCE_SSL=1. caching_sha2_password é o plugin de autenticação padrão do RDS para MySQL 8.4.
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, todas as versões 8.0 do RDS para MySQL e todas as versões do RDS para MySQL 8.4.
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, todas as versões 8.0 do RDS para MySQL e todas as versões do RDS para MySQL 8.4.
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');