Mysql Cluster Binlog复制顺序

时间:2019-11-07 08:36:58

标签: mysql mysql-cluster

我们面临着mysql复制堆栈的问题:实际上,我们有一个mysql ndb集群(7.6.11)作为主服务器,一个innoDB(5.7)作为从服务器。直到我们意识到某些语句没有在奴隶中执行之前,一切似乎都可以正常工作。

长话短说:在主binlog中的某些语句是按顺序切换的(执行顺序!=日志顺序)编写的,而当从属试图复制它时,它遇到了Foreign_key约束错误。

我们已经检查了配置,一切看起来都正确:

主(集群)配置:

-binlog_order_commits=ON
-innodb_api_enable_binlog=OFF
-innodb_flush_log_at_trx_commit=1
-log_bin=ON
-log_slave_updates=OFF
-slave_parallel_type=DATABASE
-slave_parallel_workers=0
-slave_preserve_commit_order=OFF
-sync_binlog=1
-ndb_log_binlog_index
-ndb_log_updated_only=ON
-ndb_log_update_as_write=OFF

从站(innodb)配置:

-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

我们毁了什么吗?

1 个答案:

答案 0 :(得分:0)

对于那些同样遇到此问题的人,我设法完成了正确的订单设置:

  • TimeBetweenEpochs = 0

我实际上正在确定此更改的影响,但至少复制能够按预期进行。