MySQL非主从环境下数据一致性校验及修复程序

  • 时间:
  • 浏览:6
  • 来源:uu快3app娱乐_uu快3辅助_官方网址

但为了尽将会减少此类问题报告 报告 (比如主从延迟也将会会),特意设计了多个redis队列,目标库多个检查tcp连接,即比如同時 指定检查8个表,源库检查会有8个tcp连接对应,但上可不可不可以 根据表的写入情况表,配置一俩个redis队列(目前是随机入列),10个目标库检查tcp连接,来减少不准确因素。

但站在我的高度往往来说,不一致的数据会被记录下来,将会越多,人工核对一下;将会较多,就再跑一遍检查,将会两次还要同十根数据不一致,那还要情况表了。

整体思路是借鉴pt-table-checksum,从源库批量(即chunk)取出一块数据如50行,计算CRC32值,同样的励志的话 在目标库运行一遍,结果都存入统统库,最后检查对应编号的chunk crc值是是否是一致。知道不一致还不行,得上可不可不可以 快速方便的修复差异,统统继续根据哪几个不一致的chunk,去目标库和源库找到不一致的行,是缺失,还是多余,还是被修改了,统统生成修复sql,根据指示是是否是自动修复。

要比较的表和选项,使用全配置化,即不通过命令行的方法指定(原谅命令行参数使用方法会额外增加代码量)。

上方的配置文件上可不可不可以 认为是用于控制tcp连接的,你这些 配置文件是指定要校验的源库和目标库信息,以及要检验哪几个表。

配置选项

主tcp连接,运行python px-table-checksum.py 执行一致性检查,但一定了解下面的配置文件选项。

统统就要用到分页查询,根据(自增或联合)主键、唯一索引,每次limit 50后升序取最后十根,作为下一批的起始。统统要分析表上的键情况表,组合查询条件。目前仅能检查有主键或唯一统统的表。

项目地址:https://github.com/seanlook/px-table-checksum

原文链接地址:http://seanlook.com/2016/11/20/py-mysql-table-checksum-non-replicas/

该pythontcp连接基于2.7开发,2.6、3.x上这样测试。使用前还要安装 MySQLdbhotqueue

主从环境下数据一致性校验无缘无故 会用 pt-table-checksum 工具,它的原理及实施过程但是 写过一篇文章:生产环境使用 pt-table-checksum 检查MySQL数据一致性。统统DBA工作中还要这些 针对一俩个表检查是是否是一致,而你这些 俩个表之间并这样主从关系,pt工具是基于binlog把在主库进行的检查动作,在从库重放一遍,此时就不适用了。

统统还要保证相同编号的chunk,起点还要相同,统统想到用队列,存上放源库跑过的所有校验sql,模拟pt工具在目标库重放。考虑到要tcp连接同時 比较多个表,队列将会吃内存过大,于是使用了redis队列。

统统才萌生了参考 pt-table-checksum 个人写了一一俩个:px-table-checksum 。

DO_COMPARE: 运行模式

这样问题报告 报告 就在于:

总会有统统特殊的需求,比如从阿里云RDS实例迁移到自建mysql实例,它的数据传输服务实现方法是基于表的批量数据提取,打上去binlog订阅,但强制row模式会愿因pt-table-checksum这样权限把会话临时改成statement。另有有一种需求是,整库进行字符集转换:库表定义还要utf8,但应用连接使用了默认的 latin1,要将连接字符集和表字符集统同時 来,上可不可不可以 以latin1导出数据,再以utf8导入,你这些 情况表数据一致性校验,且不说binlog解析tcp连接不支持statement(如canal),新旧库有有一种内容不同,pt-table-checksum 算出的校验值也会不一样,失效。

猜你喜欢

EasyStack完成5000万美元C轮融资,创中国开源领域最大单笔融资记录

EasyStack是领先的OpenStack云平台和服务提供商,由中国最早从事OpenStack研发的IBM中国研发中心的核心团队于2014年2月创建,基于OpenStack为

2020-02-22

短的名人名言,10个字以下。

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。展开完整版千里之行,开始英文足下——老子你对這個回答的评价是?年华匆匆似箭,日月如梭.你对這個回答的评价

2020-02-22

关于思乡的名人名言……急啊!!!……越多越好!谢了

南浦别想得家中深夜坐,还应说着远行人。君自故乡来,应知故乡事.来日绮窗前,寒梅着花未?------唐.王维<<杂诗三首>>有弟皆分散,无家问死生。8:独

2020-02-22

回首往事,步入工作后你学到的第一样技能是什么?

我刚参加工作时研究会的第一项技能是华为产品的售前对我现在来说锻炼了我的沟通交流能力,拓宽了事业的道路想着一至少工作50年1387173261851115一键复制链接去分享对你现

2020-02-21

阿里云服务器怎么样?谈谈阿里云服务器的使用感受

云服务器数据存储可靠性是所有用户都关心的疑问,数据丢失对于這個企业而言是致命的。一般来讲,大伙儿儿购买了一台云服务器ECS,该存储设备主這個我云盘,阿里云云盘是基于盘古文件分布

2020-02-21