Chinaunix首页 | 论坛 | 博客
  • 博客访问: 551443
  • 博文数量: 76
  • 博客积分: 2990
  • 博客等级: 少校
  • 技术积分: 827
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-26 10:53
文章分类

全部博文(76)

文章存档

2011年(47)

2010年(13)

2009年(5)

2008年(11)

分类: Mysql/postgreSQL

2010-02-23 18:06:07

Mysql校验主从表同步方案
---记录稿
    由于最近发生几例Mysql从库同步中断的故障,经调查均是由于从库有多余记录,导致根据从库在插入记录时卡在''Duplicate entry' 这里.
     从库为什么没有删除以前的记录目前还不得而知,为了搞清楚和解决这个问题,打算周期性的校验/比较两个库的内容. 要实现这个目的有几个选择:

1.MaatKit mysql-table-checksum
 安装比较简单,使用epel软件仓库 ,可以直接用在线rpm安装 ,
经过测试,命令的执行效率随表的大小增加直线下降,计算校验和时程序加一个表级锁,会影响正常业务,这种方式还得再想想 .

2.google-mysql-tool   OnlineDataDrift
 由于该项目需要特定版本的mysql然后打上patch才能使用,故没有做测试.

3.手动执行CHECK TABLE tablename;
 分别在主库和从库同一检查点位置执行 CHECK TABLE 命令就可以查出当前表的校验值 .
该命令的执行时间较mysql-table-checksum程序的执行时间差不多:

check-table-checksum程序     计算300w行记录需要4.9sec
mysql CHECK TABLE指令       计算300w行记录需要4.8sec
 





阅读(1117) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~