percona-toolkit之工具pt-table-checksum使用介绍

简介: pt-table-checksum:主要用来检查主从数据是否一致

pt-table-checksum:主要用来检查主从数据是否一致,原理即在主库执行把表每行的列通过concat函数进行拼接,然后对拼接的值进行hash,并把该动作通过binlog传递到从库,从而在从库上也执行相关操作,主库上表完成checksum操作后,会等待所有从库对该表完成checksum,然后比对主从库上该表checksum值是否一致来判断数据是否一致。 pt-table-checksum主库要检查的表在从库都存在,并且同主库表有相同的表结构。如果要检查的表在从库不存在,或者表结构同主库不一致,那么对该表的checksum会破坏从库复制线程(3.4版本需要手动设置binlog_format=statement,工具才会检查到数据不一致)。

主库及从库创建检查用户

./pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --replicate=bhs.checksum --create-replicate-table --databases bhs -h 192.168.56.108 -u checkq -p 123456 -P 3306 --recursion-method=processlist --empty-replicate-table

        TS ERRORS  DIFFS     ROWS  CHUNKS SKIPPED    TIME TABLE

11-20T23:39:14 0 1 0 1 0 0.487 bhs.pp
11-20T23:39:14 0 1 2 1 0 0.288 bhs.test
11-20T23:39:14 0 0 0 1 0 0.296 bhs.tt

--replicate-check-only 找到与主库数据不一致的从库
./pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --replicate=bhs.checksum --create-replicate-table --databases bhs -h 192.168.56.108 -u checkq -p 123456 -P 3306 --replicate-check-only
Differences on slv2
TABLE CHUNK CNT_DIFF CRC_DIFF CHUNK_INDEX LOWER_BOUNDARY UPPER_BOUNDARY
bhs.pp 1 -1 1
bhs.test 1 -1 1

--ignore-databases 忽略检查指定数据库
--ignore-tables 忽略检查指定表
只检查指定表

./pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --replicate=bhs.checksum --create-replicate-table --databases=bhs --tables=pp -h 192.168.56.108 -u checkq -p 123456 -P 3306 --recursion-method=processlist --empty-replicate-table

        TS ERRORS  DIFFS     ROWS  CHUNKS SKIPPED    TIME TABLE

11-21T10:13:55 0 1 2 1 0 0.293 bhs.pp

目录
相关文章
|
关系型数据库 MySQL
pt-table-checksum原理详解
环境 MySQL: MySQL 5.6.27 OS: centos 6.6 tool: pt-table-checksum 2.2.15 它能做什么 业界最流行的MySQL主从数据对比工具,数据一致性检测最好的的工具,没有之一 如何使用 ./pt-table-che
7875 0
|
域名解析 网络协议 应用服务中间件
服务器主机名值命名规范
服务器主机名值命名规范
930 0
|
索引 Python
Python 教程之 Pandas(4)—— 使用 Pandas 索引和选择数据
Python 教程之 Pandas(4)—— 使用 Pandas 索引和选择数据
571 0
|
11月前
|
监控 Java Go
阿里云可观测全面拥抱 OpenTelemetry 社区
阿里云作为全球领先的云服务商,始终站在开源观测技术最前沿。深度参与 OTel 社区,坚定支持技术开放生态与全球兼容性技术标准的构建。
421 96
|
存储 关系型数据库 MySQL
MySQL 索引优化:深入探索自适应哈希索引的奥秘
MySQL 索引优化:深入探索自适应哈希索引的奥秘
|
canal 关系型数据库 MySQL
Canal 数据同步(开启binlog功能) | 学习笔记
快速学习 Canal 数据同步(开启 binlog 功能)
|
SQL 关系型数据库 MySQL
mysql从库SHOW SLAVE STATUS字段详解
mysql从库SHOW SLAVE STATUS字段详解
902 0
|
SQL 关系型数据库 MySQL
mysql5.7 慢查询配置 查看sql语句执行时间
mysql5.7 慢查询配置 查看sql语句执行时间
421 1
|
网络协议 C++ Docker
Docker pull拉取镜像报错“Error response from daemon: Get "https://registry-1.docker.io/v2”解决办法
Docker pull拉取镜像报错“Error response from daemon: Get "https://registry-1.docker.io/v2”解决办法
66366 2
|
数据可视化 关系型数据库 MySQL
解决用软件登陆的Mysql8数据库时,报错:Authentication plugin ‘caching_sha2_password‘ cannot be loaded
解决用软件登陆的Mysql8数据库时,报错:Authentication plugin ‘caching_sha2_password‘ cannot be loaded
1751 0
解决用软件登陆的Mysql8数据库时,报错:Authentication plugin ‘caching_sha2_password‘ cannot be loaded