免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8485 | 回复: 7
打印 上一主题 下一主题

【分享】探讨mysql主从数据一致性检查维护工具pt-table-checksum [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-27 18:34 |只看该作者 |倒序浏览
本帖最后由 chinafenghao 于 2013-06-04 16:33 编辑

     这几天大致的看了下,该工具描述的很不错,不过由于环境的限制,和理解上的偏差,对工具使用的方法不是特别清晰。
这里我大致描述下情况,建立的细节如果有回复我在给出,首先在单台服务器上搭建多实例主-从-从同步环境,导入相应数据。
     通过pt-table-checksum -ucheck -h 'host' -pcheck -P 3307 -S /tmp/mysql.sock -d cdata --nocheck-replication-filters --nocheck-binlog-format --replicate=s_ck.checksums --recursion-method=dsn=h='host',D=s_ck,t=dsns
给出的一致性检查结果是

然后删除从数据库中的部分数据 重复执行以上命令:

得出的结果。
我实际删除了88行数据。但可以看到给出的显示只有1处。
按照官方手册中的用一下语句查找出主从之间的数据不一致的地方,显示为空。
SELECT db, tbl, SUM(this_cnt) AS total_rows, COUNT(*) AS chunks FROM s_ck.checksums WHERE ( master_cnt <> this_cnt OR master_crc <> this_crc OR ISNULL(master_crc) <> ISNULL(this_crc)) GROUP BY db, tbl;
这里拿出一段介绍pt-table-checksum工作原理的内容

既然是计算表的散列值,然后对比该值,那应该是我对表改动后,会产生差异的。当上面缺只显示一个不同就不是很理解了。
有兴趣的朋友,或者已经对该工具有一定了解的,麻烦交流下。谢谢啊!

评分

参与人数 1可用积分 +6 收起 理由
枫影谁用了 + 6 赞一个!

查看全部评分

论坛徽章:
0
2 [报告]
发表于 2013-05-29 14:53 |只看该作者
难道没有人用过这个工具?

论坛徽章:
0
3 [报告]
发表于 2013-05-31 14:32 |只看该作者
这里的DIFFS是指多少个chunks不一致,而不是多少条记录不一致。
pt-table-checksum是把表分成不同的块进行对比的。比对结果是有哪些块不一致

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
4 [报告]
发表于 2013-06-04 16:34 |只看该作者
@onlinekof2001
很想知道这个分块计算是咋个分的?我之前了解到mt是直接checksum表。

论坛徽章:
0
5 [报告]
发表于 2013-06-27 13:23 |只看该作者
回复 3# mysqlx
感谢大神的解答,如果是chunk的理解,就明白了。不过这工具我也没特别仔细的研究,特别是检查一致性问题后的恢复,那个工具用的不是很好。

   

论坛徽章:
0
6 [报告]
发表于 2013-06-27 13:24 |只看该作者
回复 4# chinafenghao
我只知道这个工具的使用,具体原理也还没理解

   

论坛徽章:
0
7 [报告]
发表于 2014-01-23 09:00 |只看该作者
mysql> select count(*) from  CARD_MEMBER;\
+----------+
| count(*) |
+----------+
|      394 |
+----------+
1 row in set (0.00 sec)

两边的行数都一样,这么多行也看不出来哪里不一样

123.jpg (70.9 KB, 下载次数: 47)

123.jpg

论坛徽章:
224
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:5320周年集字徽章-20	
日期:2020-10-28 14:14:2615-16赛季CBA联赛之广夏
日期:2023-02-25 16:26:26CU十四周年纪念徽章
日期:2023-04-13 12:23:1015-16赛季CBA联赛之四川
日期:2023-07-25 16:53:45操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
8 [报告]
发表于 2014-02-03 11:04 |只看该作者
问题是mysql主从复制给人感觉就很纠结,每次配置还要从binlog_datefile的某个字节点开始,
还有数据修复也是麻烦,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP