Pular uma transação quebrada (GTID)
MySQLReplicaçãoComando
STOP REPLICA; SET GTID_NEXT='aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:15'; BEGIN; COMMIT; SET GTID_NEXT='AUTOMATIC'; START REPLICA;O que faz
Faz commit de uma transação vazia para o GTID especificado, para que essa transação conte como 'aplicada', e deixa a replicação seguir.
Quando usar
Quando um evento duplicado/impossível de aplicar na réplica interrompe a replicação, para pular esse evento.
Atenção
Pular uma transação cria inconsistência de dados entre a réplica e a source; use apenas quando souber o efeito do evento pulado. Pegue o valor do GTID em Last_Error / Retrieved_Gtid_Set no SHOW REPLICA STATUS. Se o GTID estiver desligado, use SET GLOBAL sql_replica_skip_counter = 1; (8.0.26+; antes sql_slave_skip_counter, um alias obsoleto no 8.0.26+).
Relacionados
- Configurar uma réplica (CHANGE REPLICATION SOURCE)
- Iniciar / parar uma réplica
- Ver o status da réplica (SHOW REPLICA STATUS)
- Monitorar o lag da réplica e os erros dos workers do applier (performance_schema)
- Ajustar a réplica multi-threaded (replica_parallel_workers)
- Reparar uma réplica quebrada: conflitos de linha 1062 / 1032