Пропустить сломанную транзакцию (GTID)
MySQLРепликацияКоманда
STOP REPLICA; SET GTID_NEXT='aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:15'; BEGIN; COMMIT; SET GTID_NEXT='AUTOMATIC'; START REPLICA;Что делает
Фиксирует пустую транзакцию для указанного GTID, чтобы эта транзакция считалась 'применённой', и позволяет репликации продолжить работу.
Когда использовать
Когда дублирующее/неприменимое событие на реплике останавливает репликацию — чтобы пропустить это событие.
Внимание
Пропуск транзакции создаёт расхождение данных между репликой и источником; используйте его, только если понимаете последствия пропускаемого события. Значение GTID возьмите из Last_Error / Retrieved_Gtid_Set в SHOW REPLICA STATUS. Если GTID выключен, используйте SET GLOBAL sql_replica_skip_counter = 1; (8.0.26+; ранее sql_slave_skip_counter, устаревший алиас в 8.0.26+).
Связанные материалы
- Настроить реплику (CHANGE REPLICATION SOURCE)
- Запустить / остановить реплику
- Просмотреть состояние реплики (SHOW REPLICA STATUS)
- Мониторинг отставания реплики и ошибок рабочих процессов applier (performance_schema)
- Настроить многопоточную реплику (replica_parallel_workers)
- Починить сломанную реплику: конфликты строк 1062 / 1032