Sauter une transaction en échec (GTID)
MySQLRéplicationCommande
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+).
Voir aussi
- Mettre en place une réplique (CHANGE REPLICATION SOURCE)
- Démarrer / arrêter une réplique
- Afficher l'état de la réplique (SHOW REPLICA STATUS)
- Surveiller le retard de la réplique et les erreurs des workers d'apply (performance_schema)
- Régler la réplique multi-thread (replica_parallel_workers)
- Réparer une réplique en échec : conflits de lignes 1062 / 1032