主从一致性检查修复.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主从一致性检查已经修复 作者:zuoyuezong@126.com 简介: 该软件是由由领先的MySQL咨询公司Perconapt-table-checksum是著名的?percona-toolkit工 具集的工具之一。它通过在主库执行基于statement的sql语句来生成主库数据块的checksum,把相同的sql语句传递到从库,并在从库上计 算相同数据块的checksum,最后,比较主从库上相同数据块的checksum值,由此判断主从数据是否一致。这种校验是分表进行的,在每个表内部又 是分块进行的,而且pt工具本身提供了非常多的限流选项,因此对线上服务的冲击较小 pt-table-sync --print --sync-to-master h=,D=test,t=test1?-uxxx -p123(其中这个xxx用户密码要机能登录到master也能登录到slave,需要的权限select,super,replication client,process) ?修复从库上test库的test表上的数据? 如果把--print换成--execute则是直接执行 ?建议先用--print保存下看看再--execute ?这样看到sql执行比较放心 可以打开gengral log很容易看到master和slave上执行的操作,分别去一段段的数据做对比校验 ,有不同的立刻用replace into在master去执行 execute --sync-to-master h=40,D=lisi,t=haowutest -uopt -p123 这就是修复了 话虽如此但是要是不行的话 还是在两边都授个全部权限吧 mysql grant all on *.* to we@% identified by 123; Query OK, 0 rows affected (0.03 sec) mysql flush privileges; Query OK, 0 rows affected (0.00 sec) mysql \q Bye [root@mysql2 data]# pt-table-sync --execute --sync-to-master h=38,h=40,D=lisi,t=haowutest -uwe -p123 OK 至此结束 [root@dbserver1 data]# mysql -phaowu123 mysql select count(*) from lisi.haowutest; +----------+ | count(*) | +----------+ | 7676940 | +----------+ 1 row in set (7.25 sec) [root@mysql2 data]# mysql -phaowu123 mysql select count(*) from lisi.haowutest; +----------+ | count(*) | +----------+ | 7676940 | +----------+ 1 row in set (7.25 sec) 修复完成 命令详解 不指定任何参数,会直接对本地的所有数据库的表进行检查。pt-table-checksum –S /tmp/mysqld.sock u=root,p=123456 注意: 1、? 根据测试,需要一个既能登录主库,也能登录从库,而且还能同步数据库的账号; 2、? 只能指定一个host,必须为主库的IP; 3、? 在检查时会向表加S锁; 4、? 运行之前需要从库的同步IO和SQL进程是YES状态。 GRANT SELECT, PROCESS, SUPER, REPLICATION SLAVE ON *.* TO ‘checksums’@’x.x.x.x’ IDENTIFIED BY ‘xxxx’; 执行检测(MASTER上): pt-table-checksum --nocheck-replication-filters --replicate=test.checksum --databases=test h=35,u=root,p=123 --empty-replicate-table --create-replicate-table TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE 09-18T12:03:16 0 1 5 1 0 0.018 test.t1 参数说明: TS??????????? :完成检查的时间。 ERRORS??????? :检查时候

文档评论(0)

三四五 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档