3.pt-table-sync(主从不一致修复)
1.前言
pt-table-sync:是主从不一致修复工具,当我们在用pt-table-checksum工具检查主备数据不一致时,可以用此工具进行修复。
2.命令使用
2.1命令实战
pt-table-sync h=192.168.31.201,u=pt_table_check,p=123,P=3307 h=192.168.31.201,u=pt_table_check,p=123,P=3308 --replicate=percona_schema.checksums --print --execute
##参数说明:
--replicate= :指定通过pt-table-checksum得到的表,这2个工具差不多都会一直用。
--databases= : 指定执行同步的数据库,多个用逗号隔开。
--tables= :指定执行同步的表,多个用逗号隔开。
--sync-to-master :指定一个DSN,即从的IP,他会通过show processlist或show slave status 去自动的找主。
h=192.168.31.201 :服务器地址,命令里有3个ip,第一次出现的是Master的地址,第2次是Slave的地址,第三个也是slave地址
--print :打印,但不执行命令。
--execute :执行命令。
pt-table-sync DSN1 --databases=xxx --tables=xxx --sync-to-master --execute
#这里可以指定--sync-to-master参数,但是当指定该该参数时,前面的DSN1表示的从库的ip,端口号,用户,密码等。
3.总结
当指定参数 --replicate时,需要提前对主从数据中的表进行过pt-table-checksum操作,生成一个检查表,这时当我们在修复主从不一致时,可以利用该检查表,执行在前面的第一DSN1必须写master地址,第二个或者第三个都可以写上slave地址
当指定参数 --sync-to-master时 需要带上参数 --databases=xxx --tables=xxxx 这时pt-table-sync DNS1 .... 这里的DNS1必须是从库的ip地址
参考文章:
https://www.cnblogs.com/dbabd/p/10690429.html
https://www.huaweicloud.com/articles/2329dfb68d6d5674e3780583a46d75d0.html
https://www.percona.com/doc/percona-toolkit/LATEST/pt-table-sync.html