一、用途
pt-table-checksum通过在 master 上执行校验和查询来执行在线复制一致性检查,这会在与 master 不一致的副本上产生不同的结果。可选的 DSN 指定主控主机。如果发现任何差异,或者出现任何警告或错误,则该工具的“退出状态”为非零值,该工具专注于有效地查找数据差异。如果有任何数据不同,您可以使用 pt-table-sync 解决问题。
二、基本使用
1.使用示例
pt-table-checksum h='host',u='user',p='password',P=port --nocheck-replication-filters --replicate=test.checksums --recursion-method=hosts --no-check-binlog-format
ps: recursion-method:因为我配置了单机多实例,从库端口为3307,processlist找不到从库,这时候就需要使用host或者dsn,
使用host则需要修改从库的配置
[mysqld]
report-host = *******
report-port = 3307
dsn用法:
--recursion-method dsn=h=host,D=percona,t=dsns
CREATE TABLE `dsns` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) DEFAULT NULL,
`dsn` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);
# dsn字段的内容:"h=replica_host,u=repl_user,p=repl_pass"
2.从库全局日志
2021-09-26T03:33:55.478992Z 8 Query SHOW TABLES FROM `test_1` LIKE 'a'
2021-09-26T03:33:55.488784Z 8 Query /*!40101 SET @OLD_SQL_MODE := @@SQL_MODE, @@SQL_MODE := '', @OLD_QUOTE := @@SQL_QUOTE_SHOW_CREATE, @@SQL_QUOTE_SHOW_CREATE := 1 */
2021-09-26T03:33:55.497333Z 8 Query USE `test_1`

pt-table-checksum是一个用于在线复制的MySQL工具,用于检查主从数据一致性。它通过在主库上执行校验和查询并在从库上对比结果来检测差异。工具支持多种配置选项,如指定校验和函数、分块大小、递归方法等,还能够处理单机多实例情况。在执行过程中,会记录校验和信息到指定表,并在发现差异时给出提示。此外,还能通过--replicate选项同步校验和信息到从库。
最低0.47元/天 解锁文章
345

被折叠的 条评论
为什么被折叠?



