Percona toolkit不完全笔记
2017-03-03
Percona toolkit(简称pt工具集)是Percona公司开发的面向MySQL、MongoDB及系统任务的一套命令行工具集。
安装 #
pt-table-checksum #
pt-table-checksum
主要用于检测MySQL复制的一致性,检测主库、从库数据是否一致。该工具通过高效的方式来查找数据差异,找到的差异可以通过pt-table-sync
来解决。
根据pt-table-checksum文档,需要先创建用于存放checksum计算结果的数据库percona和表checksums:
1CREATE DATABASE IF NOT EXISTS percona;
2CREATE TABLE checksums (
3 db CHAR(64) NOT NULL,
4 tbl CHAR(64) NOT NULL,
5 chunk INT NOT NULL,
6 chunk_time FLOAT NULL,
7 chunk_index VARCHAR(200) NULL,
8 lower_boundary TEXT NULL,
9 upper_boundary TEXT NULL,
10 this_crc CHAR(40) NOT NULL,
11 this_cnt INT NOT NULL,
12 master_crc CHAR(40) NULL,
13 master_cnt INT NULL,
14 ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
15 PRIMARY KEY (db, tbl, chunk),
16 INDEX ts_db_tbl (ts, db, tbl)
17) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在主库和从库创建检查checksum所需用户并授权:
1GRANT ALL on percona.* to percona@'%' IDENTIFIED BY 'percona_password';
2GRANT SELECT, PROCESS, SUPER, REPLICATION SLAVE on *.* to percona@'%';
在主库上运行checksum:
1pt-table-checksum h='192.168.1.5',u='percona',p='percona_password',P=3306 \
2--nocheck-replication-filters --replicate=percona.checksums