高效的同步MySQL表之间的数据,他可以做单向和双向同步的表数据。他可以同步单个表,也可以同步整个库。它不同步表结构、索引、或任何其他模式对象。所以在修复一致性之前需要保证他们表存在。


 


使用范例:


pt-table-sync --replicate=lgj.checksums h=127.0.0.1,u=repl,p=oracle h=192.168.56.57,u=repl,p=oracle --print


 


参数的意义:


--replicate=  :指定通过pt-table-checksum得到的表,pt-table-checksum和pt-table-sync这2个工具差不多都会一直用。


--databases=  : 指定执行同步的数据库,多个用逗号隔开。


--tables=     :指定执行同步的表,多个用逗号隔开。


--sync-to-master :指定一个DSN,即从的IP,他会通过show processlist或show slave status 去自动的找主。


h=127.0.0.1   :服务器地址,命令里有2个ip,第一次出现的是Master的地址,第2次是Slave的地址。


u=repl        :帐号。


p=oracle      :密码。


--print       :打印,但不执行命令。


--execute     :执行命令。


 


注意:要是表中没有唯一索引或则主键则会报错,故要用pt-table-sync修复必须要有主键。


Can't make changes on the master because no unique index exists at /usr/local/bin/pt-table-sync line 10591.