我发布了以下命令:
pt-table-sync --verbose --databases medics --execute h=10.11.22.77,u=root,p=secret h=127.0.0.1,u=root,p=secret..。(以及一个类似的命令,指定DSN上的D=/t=只处理一个表).
几分钟后,我们得到了这样一个很有前途的输出:
# DELETE REPLACE INSERT UPDATE ALGORITHM START END EXIT DATABASE.TABLE
# 25 0 3380 437 Nibble 14:50:49 15:09:05 2 medics.address_book..。但是当我查看目标数据库中的表时,它根本没有改变!重新运行该命令会产生相同的输出,显然是因为该命令每次都会看到相同(不变)的情况,而且它从未真正同步任何东西。
为什么不行?
(这使用的是目前在Ubuntu上可用的Percora发行版。此外,这两个系统都运行相同版本的Ubuntu和相同(当前)版本的MySQL。我可以看出,软件认为它知道自己在做什么,因为(例如)(当一个表不存在时,它正确地识别。)
(源数据库是复制从数据库。目标是一个不相关的(相同的)开发数据库,它不参与任何复制关系。我不知道源的“复制从”状态如何相关,但我想公开这个事实。我宁愿不与主程序竞争,也还没有尝试这样做。)
这个名为Percona's pt-table-sync: how to run on more than one table?的帖子显示了用户发出一个非常相似的命令(与我尝试过的第二个命令,而不是在这个帖子中显示的),OP说“这将成功地更新table1。”嗯,就像我预料的那样。但是我试着做同样的事情,但它没有。那么,为什么它对我不起作用呢?:-)
没有错误信息-没有线索。没有任何明显的异常迹象。
发布于 2017-10-12 16:58:59
(“天哪!”这附近的图标?)
我发现了一个问题:这是一个错误警报。I是针对一个与其主程序不同步的奴隶进行复制的,然后将结果与主程序进行比较。
显然,Percona确实对它所指向的奴隶进行了正确的同步,但是这些数据当然与主程序不匹配。
https://stackoverflow.com/questions/46710922
复制相似问题