我知道我的奴隶是至less有点不同步的主人…阅读我发现,许多地方说,从maatkit mk-table-checksum + mk-table-sync是我应该用来解决这个问题的工具。
问题在于我找不到任何好的例子:
这是我的模式:
Host1 -> master |_ table1 Host2 -> slave |_ table1
我的问题是:
已经有一段时间了,因为我必须这样做,但是如果我没有记错的话,你可以使用mk-table-checksum来对付master,并使用–replicate选项。 这写入主表和从表的校验和数据。 然后你从slave运行mk-table-sync –sync-to-master,这样可以通过更新主服务器中的行来使你的从服务器行保持一致,以便它们复制到从服务器。
正如我所说,我的记忆可能不稳定,所以请阅读工具的文档,以确保您了解他们正在做什么,并在您的testing环境中进行testing。
如果你的数据集不是很大,最好closures一段足够长的时间,在主服务器上获取mysql数据目录的副本,并重新创build从服务器,因为这是最安全的方法,以确保你获得一致的副本。 如果你能够使用LVM快照,那么甚至更好 – 但是这是不可能的,除非你已经configuration了你的文件系统。
Jon Topper的回答是正确的。 我会在副本上添加这个选项,你也应该在mk-table-sync中添加–replicate选项,以便利用mk-table-checksum已经完成的工作。