Порядок репликации Mysql Cluster binlog - PullRequest
0 голосов
/ 07 ноября 2019

Мы столкнулись с проблемой с нашим стеком репликации mysql: у нас фактически есть кластер mysql ndb (7.6.11), выступающий в качестве главного, и innoDB (5.7) в качестве ведомого. Казалось, что все работало правильно, пока мы не осознали, что некоторые операторы не выполнялись в подчиненном устройстве.

Короче говоря: некоторые операторы в главном бинлоге были записаны с переключенным порядком (порядок выполнения! = Порядок журнала) и когда ведомое устройство пыталось его реплицировать, оно сталкивалось с ошибками ограничения foreign_key.

Мы рассмотрели нашу конфигурацию, и все выглядит правильно:

основная (кластерная) конфигурация:

*Конфигурация подчиненного (innodb) 1008 *

:

-binlog_order_commits=ON
-innodb_api_enable_binlog=OFF
-innodb_flush_log_at_trx_commit=1
-log-bin
-log_slave_updates=ON
-slave_parallel_type=DATABASE
-slave_parallel_workers=0
-slave_preserve_commit_order=OFF
-sync_binlog=1

Мы что-то испортили?

...