数据库同步软件-MySQL 数据库主从数据校验与数据同步利器

mysql主从复制环境中,由于各种各样的原因(复制停止、误操作数据参数修改等),可能引发主从库的数据出现不一致,在这种情况下,就需要对主从库的数据进行校验,并且修复,对于DBa来讲,也应该定期对数据库进行数据校验,以确保主从库的数据是正确的、一致的。本篇将介绍开源工具套件PeRcona ToolkIT数据校验pt-table-checksum和数据同步pt-table-sync利器

1 软件环境

本次演示使用的软件环境如下:

使用前需先安装需要的软件包:yum install peRl-TimeHiRes peRl-TeRmReadKey peRl-DBD-mysql

2 数据校验pt-table-checksum

用途:

在主库执行,用于检测mysql主、从库数据是否一致。该工具需要使用基于语句的复制,即它会在主库设置BInlog_foRmat=STaTEMEnT,若主库的复制采用基于行模式,使用该工具时需设置选项–no-check-BInlog-foRmat,否则会出错。

语法:

Usage: pt-table-checksum [OPTIOnS] [DSn]

可通过执行pt-table-checksum–help查看对应选项和DSn的具体用法

用法示例:

1)创建测试数据

主库:

%IGnoRe_pRe_1%

从库:

%IGnoRe_pRe_2%

通过主从库的数据可看出,主从库的数据是不一致的,具体为emp表的emp_no=10001记录和dept表的dept_no=’d009’记录不一致。

2)验证某个数据库的主从一致性,若验证多个数据库,则数据库之间用逗号分隔

%IGnoRe_pRe_3%

3)验证某个表的主从一致性,若验证多个数据表,则数据表之间用逗号分隔

%IGnoRe_pRe_4%

输出说明:

TS:完成对表校验和时的时间戳(不包含年份)

ERRORS:校验表时出现错误&告警的数量,表校验时,错误警告打印到标准错误

DIFFS:从库与主库不同的chunk数量,若指定–no-Replicate-check,该列始终为零,若指定–Replicate-check-only,则纸打印有差异的表

ROWS:表中选择并进行校验和的行数

DIFF_ROWS:每个chunk中最大差异的行数

cHUnKS:表被拆分为chunk的数量

SKIPPED:被跳过的chunk数量

Time:校验表时花费的时间

TaBLE:被校验和的数据库和表

通过上面的演示可以看出,主从库数据出现了不一致,那么,该怎么处理呢?接下来将使用pt-table-sync工具进行数据同步。

3 数据同步pt-table-sync

用途:

用于高效的同步mysql数据,参与数据同步的数据库可以是主从数据库,也可以是没有复制关系数据库间数据同步(通过这种方法可检查不同的数据库中的表数据是否一致)。

语法:

Usage: pt-table-sync [OPTIOnS] DSn [DSn]

%IGnoRe_pRe_5%

用法示例:

参考上面的数据同步逻辑,列举如下示例,下面的示例使用选项–pRint,只是打印,不做实际的执行,若需要执行,则需使用选项–execute,另外须注意的是,在数据同步过程中,对应的表需要有主键,否则同步会出错。

场景1:DSn信息中有 t 选项,则只同步对应的表

若只有1个DSn信息,出现选项–sync-to-masteR,该DSn是从库信息连接到主库进行数据同步

%IGnoRe_pRe_6%

若有多个DSn信息第一个DSn信息是源数据库,将依次同步数据

%IGnoRe_pRe_7%

此种场景没有主从数据库同步,只是纯粹的数据同步

场景2:指定–Replicate

若指定–sync-to-masteR,该DSn是从库的信息连接到主库同步数据信息

%IGnoRe_pRe_8%

若不指定–sync-to-masteR,该DSn是主库的信息查找到从库并连接,同步数据

%IGnoRe_pRe_9%

场景3:场景1和场景2之外的场景

若只有1个DSn信息,且指定–sync-to-masteR,则该DSn是从库信息连接到主库,查找数据表并通过–databases过滤数据库,同步数据

%IGnoRe_pRe_10%

若有多个DSn信息,并不指定–sync-to-masteR查找数据表并通过–databases过滤数据库,同步数据

%IGnoRe_pRe_11%

此种场景没有主从数据库同步,只是纯粹的数据同步

以上,就是数据校验pt-table-checksum和数据同步pt-table-sync工具的讲解,通过这两个工具的有效使用,可提升DBa工作效率

图片[1]-数据库同步软件-MySQL 数据库主从数据校验与数据同步利器-OK资源网

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发