maakit:与索引mk表同步问题

试图重新同步一个奴隶,我遇到了一些我的表没有一个自动增量主索引,但主要的唯一ID(不自动增量)麻烦。

我运行重新同步

mk-table-sync –execute –sync-to-master localhost –databases gman –table“,my,problem,tables” – 等待60

这适用于所有具有自动join主ID的表,对于其他表示:

因为在/ usr / bin / mk-table-sync行7733处没有唯一索引,所以不能在主节点上进行更改。而在本地主机上执行db123.problem

如何以另一种方式解决这个问题? 我只希望从设备与来自主设备的正确数据同步。 如果可能的话,我宁愿用mk-table-sync来代替LOCK,转储,将转储插入到slave中,这真的是老式的,并不是非常有用的用例。

感谢maakit提示。

如果索引列有索引但没有定义为UNIQUE INDEX,则mk-table-sync将不知道它是否为UNIQUE,并将索引作为二级索引。 你只需要重新定义索引是唯一的,再次运行mk-table-sync。

build议 :请在每个单独的表上运行mk-table-sync,但不要使用–execute

mk-table-sync –print –sync-to-master localhost –databases gman –table tblname –wait 60> tblname.sql

这样,你可以看看SQL之前,在奴隶之前。

如果奴隶也是主人,阻止奴隶从复制

回声“SET SQL_LOG_BIN = 0;” > tblname.sql

mk-table-sync –print –sync-to-master localhost –databases gman –table tblname –wait 60 >> tblname.sql