DBAtlas · Atlas d'exploitation des bases de données

Sauter une transaction en échec (GTID)

MySQLRéplication

Commande

STOP REPLICA; SET GTID_NEXT='aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:15'; BEGIN; COMMIT; SET GTID_NEXT='AUTOMATIC'; START REPLICA;

Ce que fait la commande

Valide une transaction vide pour le GTID indiqué afin que cette transaction compte comme 'appliquée', et laisse la réplication poursuivre.

Quand l'utiliser

Lorsqu'un événement dupliqué/inapplicable sur la réplique arrête la réplication, pour sauter cet événement.

Attention

Sauter une transaction crée une incohérence de données entre la réplique et la source ; ne le faites que si vous connaissez l'effet de l'événement sauté. Prenez la valeur GTID dans Last_Error / Retrieved_Gtid_Set de SHOW REPLICA STATUS. Si GTID est désactivé, utilisez SET GLOBAL sql_replica_skip_counter = 1; (8.0.26+ ; auparavant sql_slave_skip_counter, alias déprécié en 8.0.26+).

Ouvrir dans DBAtlas →

Voir aussi