mysql实时主从同步工具_使用maatkit工具检查并同步mysql主从数据

Maatkit是一组开源工具包,为mysql的日常管理提供了帮助。其中mk-table-checksum可以用来检测master和slave的表结构和数据是否一致。同时,通过mk-table-sync工具,在发现主从数据不一致时,可以修复不同步的数据。

实验环境:

Master:192.168.189.143:3306

Slave:192.168.189.144:3306

1:安装Maatikit工具。

安装perl环境:#wget http://packages.sw.be/perl-TermReadKey/perl-TermReadKey-2.30-3.el5.rf.x86_64.rpm

#rpm -ivh perl-TermReadKey-2.30-3.el5.rf.x86_64.rpm

安装Maatikit:

下载maaikit工具源码包,并上传服务器。#tar -zxvf maatkit-7540.tar.gz

#cd maatkit-7540

#perl Makefile.PL

#make install

安装完成后在/usr/bin下存在mk-开头的工具命令:

2cd3328bbd3dce82a22c9cf3f48719e4.png

2:模拟主从库数据不同步。

在从库上插入一条数据,使主从数据不同步,如下:

Master:Slave:

b6c4d83b76574757e3ced5dfaa945646.png

8f3d75b5365ce9748eeb72e5d9e70c0e.png

3:使用mk-table-checksum工具检查数据库数据是否一致:#mk-table-checksum h=192.168.189.143,u=root,p=123456,P=3306 h=192.168.189.144,u=root,p=123456,P=3306 -d cmhtest

4eb5e0a3ecef201260536fb42ae047d4.png

检查cmhtest库的数据,发现两台服务器的checksum值不一致,即说明数据不同步。

4:使用mk-checksum-filter工具查看具体是哪张表数据不同步:#mk-table-checksum h=192.168.189.143,u=root,p=123456,P=3306 h=192.168.189.144,u=root,p=123456,P=3306 -d cmhtest |mk-checksum-filter

049569ed26c57c858c112a30d8e367ef.png

可以看到,不同步的表,为t1。

5:使用mk-table-sync工具同步数据。#mk-table-sync --execute --print --no-check-slave --transaction --databases cmhtest h=192.168.189.143,u=root,p=123456 h=192.168.189.144,u=root,p=123456

DELETE FROM `cmhtest`.`t1` WHERE `id`='5' AND `name`='zhangs' LIMIT 1 /*maatkit src_db:cmhtest src_tbl:t1 src_dsn:h=192.168.189.143,p=...,u=root dst_db:cmhtest dst_tbl:t1 dst_dsn:h=192.168.189.144,p=...,u=root lock:0 transaction:1 changing_src:0 replicate:0 bidirectional:0 pid:28358 user:root host:node1*/;

系统会反馈在同步过程中,具体操作了哪写sql,比如本例中,就只在从库上执行了1条sql:DELETE FROM `cmhtest`.`t1` WHERE `id`='5' AND `name`='zhangs' LIMIT 1。

使用mk-table-sync命令时,要注意连接mysql服务器的先后顺序,在前的服务器为源服务器,在后的服务器为被被同步服务器。

6:查看结果:

Master:                                                                  slave:

d3f04ce1d4ec56d248b164e324dd14d3.png2e0154f68a40a269e13b233efae483b1.png

可以看到从库实例cmhtest上的表已经与主库同步了。

由于Maatkit工具包网上比较难找,附件是我之前下载的工具安装包,提供大家下载。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值