(1)、pt-table-checksum 工具名称 (2)、安装pt-table-checksum #:wget www.percona.com/downloads/percona-toolkit/2.2.2/percona-toolkit-2.2.2.tar.gz #:tar -xvf percona-toolkit-2.2.2.tar.gz #:perl Makefile.PL # make && make install (3)、授权 GRANT update,insert,delete,SELECT, PROCESS, SUPER, REPLICATION SLAVE ON *.* to 'tugeadmin'@'192.168.100.206' identified by 'peshome0716'; 创建一个表 CREATE TABLE checksums ( db char(64) NOT NULL, tbl char(64) NOT NULL, chunk int NOT NULL, chunk_time float NULL, chunk_index varchar(200) NULL, lower_boundary text NULL, upper_boundary text NULL, this_crc char(40) NOT NULL, this_cnt int NOT NULL, master_crc char(40) NULL, master_cnt int NULL, ts timestamp NOT NULL, PRIMARY KEY (db, tbl, chunk), INDEX ts_db_tbl (ts, db, tbl) ) ENGINE=InnoDB; (4)、开始验证 pt-table-checksum --nocheck-replication-filters --databases=tuge --replicate=tuge.checksums --create-replicate-table -h192.168.100.206 --port 3306 -utugeadmin -ppeshome0716 --set-vars innodb_lock_wait_timeout=120 --no-check-binlog-format (5)、验证说明 --nocheck-replication-filters :不检查复制过滤器,建议启用。后面可以用--databases来指定需要检查的数据库。 --no-check-binlog-format : 不检查复制的binlog模式,要是binlog模式是ROW,则会报错。 --replicate-check-only :只显示不同步的信息。 --replicate= :把checksum的信息写入到指定表中,建议直接写到被检查的数据库当中,(这里写入了tuge库的checksums) 如果没有checksums库.需要手工创建一个.每次监测完成之后干掉它. 这个库表可以随意指定.个人建议把它,放到test 里面去.在test里面建立一个checksums表. --replicate=test.checksums --databases= :指定需要被检查的数据库,多个则用逗号隔开。 --tables= :指定需要被检查的表,多个用逗号隔开 h=127.0.0.1 :Master的地址 u=root :用户名 p=123456 :密码 P=3306 :端口 (6)、常见出错误 常见错误: --set-vars innodb_lock_wait_timeout=120 使用timeout跳过这个错误提示.
转自:http://8448262.blog.51cto.com/8438262/1408083