Maatkit--Mysql的高级管理工具mk-table-sync

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:
mk-table-sync 有效保证表一致的工具,不必重载从表而能够保证一致。

上篇文章说过,当发生主从表数据不一致时,我们就要对此处理,可以导出和导入,但更便捷的方法就是利用mk-table-sync这个工具。下面来演示下怎么使用。

你需要下载maatkit-7540.tar.gz的工具包。

然后依次
# perl Makefile.PL
# make
# make install

主库master:192.168.8.23
从库slave:  192.168.8.22

我们在从库上运行

[root@vm01 ~]# mk-table-sync --execute --print --no-check-slave --databases test h=192.168.8.23,u=admin,p=123456 h=192.168.8.22,u=admin,p=123456
DELETE FROM `test`.`heartbeat` WHERE `server_id`='11' LIMIT 1 /*maatkit src_db:test src_tbl:heartbeat src_dsn:h=192.168.8.23,p=...,u=admin dst_db:test dst_tbl:heartbeat dst_dsn:h=192.168.8.22,p=...,u=admin lock:0 transaction:0 changing_src:0 replicate:0 bidirectional:0 pid:4176 user:root host:vm01*/;
DELETE FROM `test`.`t1` WHERE `id`='22' LIMIT 1 /*maatkit src_db:test src_tbl:t1 src_dsn:h=192.168.8.23,p=...,u=admin dst_db:test dst_tbl:t1 dst_dsn:h=192.168.8.22,p=...,u=admin lock:0 transaction:1 changing_src:0 replicate:0 bidirectional:0 pid:4176 user:root host:vm01*/;
INSERT INTO `test`.`t1`(`id`) VALUES ('2') /*maatkit src_db:test src_tbl:t1 src_dsn:h=192.168.8.23,p=...,u=admin dst_db:test dst_tbl:t1 dst_dsn:h=192.168.8.22,p=...,u=admin lock:0 transaction:1 changing_src:0 replicate:0 bidirectional:0 pid:4176 user:root host:vm01*/;

[root@vm01 ~]# 

这里要说明一下,--no-check-slave这个参数,如果你不加这个参数,会提示报错,因为这个工具默认是不允许在从库上修改数据的,但我们这里为了不在主库上dump出来,再到从库上导入进去,加了这个参数。

它的工作原理是:先一行一行检查主从库的表是否一样,如果哪里不一样,就执行删除,更新,插入等操作,使其达到一致。

这时,我们在检查下主从表的完整性、一致性

在主库上运行

[root@vm02 ~]# mk-table-checksum h=localhost,u=root,p=123456 h=192.168.8.22,u=admin,p=123456 -d test
DATABASE TABLE     CHUNK HOST         ENGINE      COUNT         CHECKSUM TIME WAIT STAT  LAG
test     heartbeat     0 localhost    MyISAM       NULL       3258230607    0    0 NULL NULL
test     heartbeat     0 192.168.8.22 MyISAM       NULL       3258230607    0    0 NULL NULL
test     t1            0 localhost    InnoDB       NULL       1245381782    0    0 NULL NULL
test     t1            0 192.168.8.22 InnoDB       NULL       1245381782    0    0 NULL NULL
test     t2            0 localhost    InnoDB       NULL        251493421    0    0 NULL NULL
test     t2            0 192.168.8.22 InnoDB       NULL        251493421    0    0 NULL NULL

[root@vm02 ~]# 
[root@vm02 ~]# mk-table-checksum h=localhost,u=root,p=123456 h=192.168.8.22,u=admin,p=123456 -d test | mk-checksum-filter
[root@vm02 ~]# 

可以看到,主从库的表数据已经完全一样了。




本文转自 liang3391 51CTO博客,原文链接:http://blog.51cto.com/liang3391/735641

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
关系型数据库 MySQL
elasticsearch对比mysql以及使用工具同步mysql数据全量增量
elasticsearch对比mysql以及使用工具同步mysql数据全量增量
26 0
|
3月前
|
关系型数据库 MySQL 数据库
rds迁移数据迁移工具选择
rds迁移数据迁移工具选择
78 3
|
6月前
|
关系型数据库 MySQL 数据库
Navica工具把远程MySQL导入到本地MySQL数据库
Navica工具把远程MySQL导入到本地MySQL数据库
|
5月前
|
SQL 关系型数据库 MySQL
MySQL——MySQL的图形化界面工具安装与使用
MySQL——MySQL的图形化界面工具安装与使用
164 0
|
2月前
|
关系型数据库 MySQL 数据库
rds安装数据库客户端工具
安装阿里云RDS的数据库客户端涉及在本地安装对应类型(如MySQL、PostgreSQL)的客户端工具。对于MySQL,可选择MySQL Command-Line Client或图形化工具如Navicat,安装后输入RDS实例的连接参数进行连接。对于PostgreSQL,可以使用`psql`命令行工具或图形化客户端如PgAdmin。首先从阿里云控制台获取连接信息,然后按照官方文档安装客户端,最后配置客户端连接以确保遵循安全指引。
113 1
|
7月前
|
网络协议 关系型数据库 MySQL
【Linux环境】Centos7.x 安装MySQL,使用Navicat等远程连接工具报2003-Can‘t connect to MySQL server on(10060 Unknown err)
【Linux环境】Centos7.x 安装MySQL,使用Navicat等远程连接工具报2003-Can‘t connect to MySQL server on(10060 Unknown err)
235 0
|
7天前
|
存储 安全 关系型数据库
MySQL中使用percona-xtrabackup工具 三种备份及恢复 (超详细教程)
MySQL中使用percona-xtrabackup工具 三种备份及恢复 (超详细教程)
|
12天前
|
SQL 关系型数据库 MySQL
【MySQL-3】图形化界面工具DataGrip安装&配置&使用
【MySQL-3】图形化界面工具DataGrip安装&配置&使用
|
5月前
|
SQL 关系型数据库 MySQL
postgresql|数据库|MySQL数据库向postgresql数据库迁移的工具pgloader的部署和初步使用
postgresql|数据库|MySQL数据库向postgresql数据库迁移的工具pgloader的部署和初步使用
127 0
|
4月前
|
存储 安全 关系型数据库
4个MySQL优化工具AWR,帮你准确定位数据库瓶颈!
4个MySQL优化工具AWR,帮你准确定位数据库瓶颈!
52 0

推荐镜像

更多