DBAtlas · Атлас эксплуатации баз данных

Пропустить сломанную транзакцию (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+).

Открыть в DBAtlas →

Связанные материалы