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
|
SQL 关系型数据库 MySQL
pt-tools系列:pt-online-schema-change 最佳实践
pt的详细步骤 Step 1: Create the new table. Step 2: Alter the new, empty table. This should be very quick, or die if the user specified a bad alter statement.
5050 0
|
关系型数据库 MySQL
pt-table-checksum原理详解
环境 MySQL: MySQL 5.6.27 OS: centos 6.6 tool: pt-table-checksum 2.2.15 它能做什么 业界最流行的MySQL主从数据对比工具,数据一致性检测最好的的工具,没有之一 如何使用 ./pt-table-che
7485 0
|
SQL 运维 前端开发
【MySQL】pt-online-schema-change 工具使用
在运维mysql数据库时,我们总会对数据表进行ddl 变更,修改添加字段或者索引,对于mysql 而已,ddl 显然是一个令所有MySQL dba 诟病的一个功能,因为在MySQL中在对表进行ddl时,会锁表,当表比较小比如小于1w上时,对前端影响较小,当时遇到千万级别的表 就会影响前端应用对表的写操作。
391 0
|
监控 关系型数据库 MySQL
pt-tools系列:xtrabackup最佳实践
安装xtrabackup 下载2.4版本即可 运行报错 /data/Keithlan/pt_backup/bin/innobackupex: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.
2618 0
|
SQL 监控 关系型数据库