暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

MySQL主从一致性校验-PT工具(pt-table-checksum)

原创 冯晓宇 2022-04-02
2151

针对MySQL主从数据不一致的情况,可以使用pt-table-checksum工具进行校验

测试背景:健康的主从环境(Slave_IO_Running: Yes&Slave_SQL_Running: Yes)

主机地址 角色 数据目录 mysql软件目录 pt工具目录
10.0.0.51 master /data/mysql/data /usr/local/mysql /usr/local/pt
10.0.0.52 slave data/mysql/data /usr/local/mysql /usr/local/pt

具体步骤:

1、安装PT工具
解压工具包:tar xf percona-toolkit-3.3.1_x86_64.tar.gz 至/usr/local/
修改pt工具名称: mv percona-toolkit-3.3.1_x86_64 pt

2、设计主从测试环境

1)创建world库,当前master与slave数据一致
root@localhost:world 11:17:01 >show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| pt |
| sys |
| world |
±-------------------+
6 rows in set (0.00 sec)

2)主库world库下创建t1表,并插入5行数据
root@localhost:world 11:52:29 >select * from t1;
±-----+
| id |
±-----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
±-----+
5 rows in set (0.00 sec)

3)从库已同步主库数据t1表现有5行数据,在此基础上插入新数据
root@localhost:world 11:16:55 >select * from t1;
±-----+
| id |
±-----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
±-----+
7 rows in set (0.00 sec)
主库与从库数据明显不一致,从库较主库多出2条数据

4)创建用户checksum并授权
root@localhost:world 11:16:55 >GRANT ALL ON . TO ‘checksum’@‘10.0.0.%’ IDENTIFIED BY ‘checksum’;
root@localhost:world 11:16:55 >flush privileges;

3、用PT工具进行数据对比(主库从库都可执行),当前我在从库52上执行。
1)针对库校验:
[root@xbk02 bin]# /usr/local/pt/bin/pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --replicate=pt.checksums --create-replicate-table --databases=world h=10.0.0.51,u=checksum,p=checksum,P=3306

image.png

2)针对表校验:
[root@xbk02 bin]# /usr/local/pt/bin/pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --replicate=pt.checksums --create-replicate-table --databases=world --tables=t1 h=10.0.0.51,u=checksum,p=checksum,P=3306

image.png

TS :完成检查的时间
ERRORS :检查时候发生错误和警告的数量
DIFFS :0表示一致,1表示不一致。当指定–no-replicate-check时,会一直为0,当指定–replicate-check-only会显示不同的信息
ROWS :表的行数
CHUNKS :被划分到表中的块的数目
SKIPPED :由于错误或警告或过大,则跳过块的数目
TIME :执行的时间
TABLE :被检查的表名

结果显示从库与主库数据不一致,且多出2行数据。

如有bug,欢迎指正--------------------------------------------------------

最后修改时间:2022-04-06 09:26:55
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论