pt-table-checksum不支持多源(mariadb)编辑

时间:2017-12-05 05:09:03

标签: percona

pt-checksum在多源(基于通道)的复制中变得永无止境:

我的环境中的多源复制

  

n1 - > n2(创建n1作为通道复制)
    n2 - > N3
    n1 - > n3(n3将从n1和n2通道复制)

每当没有通道明智的复制时,pt-checksum工作正常。 (传统的复制/默认复制没有任何问题)

一旦我以通道方式启用(仅n1,删除了n2通道)复制(n1-> n3),pt校验和就不会通过。

  

副本n3-VirtualBox已停止。等待。
        副本n3-VirtualBox已停止。等待。

来自一般日志n1:

  

查询SELECT' pt-table-checksum keepalive'
             查询SELECT' pt-table-checksum keepalive'

2 个答案:

答案 0 :(得分:0)

我通过以下方法解决了这个问题:

在主数据库服务器上

(i)为了安全起见,我制作了/ bin / pt-table-checksum原始副本

cp / bin / pt-table-checksum / bin / pt-table-checksumorg

(ii)打开/ bin / pt-table-checksum文件

vi / bin / pt-table-checksum

(iii)转到行号8590  按esc,输入8590,按shift g

(iv)替换行    我的@lagged_slaves = map {{cxn => $ _,lag => undef}} @ $ slaves; 通过     我的@lagged_slaves =();

程序立即运行并返回预期结果。

答案 1 :(得分:-1)

我有同样的问题。我还收到“ Replica dbslave已停止”的无限循环。但是,如果按“ Ctl + c”来中断输出,则会得到不一致的数据库和表名。我对其进行了验证,发现在奴隶中存在不一致之处。然后我用pt