Назад | Перейти на главную страницу

Репликация MySQL прервана как binlog не в хронологическом порядке

Глядя на отрывок из двоичного журнала, можно увидеть, что эти 2 утверждения записываются в журнал в хронологическом порядке не по порядку:

#160628 17:32:46 server id 2220  end_log_pos 64812204   Query   thread_id=157061        exec_time=0     error_code=0
SET TIMESTAMP=1467153166/*!*/;
UPDATE `table` SET `field` = "a";
/*!*/;
# at 64812204
--
#160628 17:32:36 server id 2220  end_log_pos 64895850   Query   thread_id=157062        exec_time=0     error_code=0
SET TIMESTAMP=1467153156/*!*/;
UPDATE `table` SET `field` = "b";
/*!*/;
# at 64895850

Не могу понять, как выделить внутри блока кода, но важными частями являются:

first statement - end_log_pos 64812204, SET TIMESTAMP=1467153166

second statement - end_log_pos 64895850, SET TIMESTAMP=1467153156

Таким образом, это привело к рассинхронизации ведущего и ведомого устройства, поскольку ведущее устройство выполнило первый оператор последним, а ведомое устройство - последним.

Может ли кто-нибудь помочь мне выяснить причину этого? Я заметил, что все операторы с thread_id 157062 выполнялись первыми, но записывались в журнал после операторов с thread_id 157061.

Версия mysql - 5.5.

Спасибо за любую помощь.