【Mysql】主从不同的端口使用pt-table-checksum校验一致性

背景

  1. 主:10.32.7.113 3306
  2. 从:10.32.7.112 3307


step 1:建立从库信息

  1. 主库test库下建立表
  2. CREATE TABLE `dsns` ( `id` int(11) NOT NULL AUTO_INCREMENT, `parent_id` int(11) DEFAULT NULL, `dsn` varchar(255) NOT NULL, PRIMARY KEY (`id`) );
  3. MySQL> INSERT INTO dsns (parent_id,dsn) values(1,'h=10.32.7.112,u=ptuser,p=ptpass,P=3307');    --插入从库信息


step 2:校验

  1. 校验主从otter库
  2. [root@DB-23 ~]# pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --replicate=test.checksum --databases=otter u=ptuser,p=ptpass,P=3306,h=10.32.7.113--empty-replicate-table --create-replicate-table --recursion-method=dsn=h=10.32.7.113,D=test,t=dsns--set-vars innodb_lock_wait_timeout=50


step3:从库执行

  1. [root@DB-22 ~]# pt-table-sync --replicate test.checksum --sync-to-master h=10.32.7.112,P=3307,u=ptuser,p=ptpass --database=otter --print
  2. REPLACE INTO `otter`.`testtab`(`id`) VALUES ('2') /*percona-toolkit src_db:otter src_tbl:testtab src_dsn:P=3306,h=10.32.7.113,p=...,u=ptuser dst_db:otter dst_tbl:testtab dst_dsn:P=3307,h=10.32.7.112,p=...,u=ptuser lock:1 transaction:1 changing_src:test.checksum replicate:test.checksum bidirectional:0 pid:22358 user:root host:DB-22*/;

  3. [root@DB-22 ~]# pt-table-sync --replicate test.checksum --sync-to-master h=10.32.7.112,P=3307,u=ptuser,p=ptpass --database=otter --execute
mysql> select * from testtab;
+----+
| id |
+----+
|  1 |
|  2 |
+----+
2 rows in set (0.00 sec)   --差异数据已被修复


参考:http://www.freeoa.net/osuport/db/chk-and-rep-mysql-msprob-by-percona-toolkit_3098.html
本文标题:【Mysql】主从不同的端口使用pt-table-checksum校验一致性
网页URL:http://myzitong.com/article/jhidoh.html