欢迎光临
我们一直在努力

【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@DB23 ~]# pttablechecksum nocheckreplicationfilters nocheckbinlogformat replicate=test.checksum databases=otter u=ptuser,p=ptpass,P=3306,h=10.32.7.113 emptyreplicatetable createreplicatetable recursionmethod=dsn=h=10.32.7.113,D=test,t=dsns setvars innodb_lock_wait_timeout=50


step3:从库执行

  1. [root@DB22 ~]# pttablesync replicate test.checksum synctomaster h=10.32.7.112,P=3307,u=ptuser,p=ptpass database=otter print
  2. REPLACE INTO `otter`.`testtab`(`id`) VALUES (2) /*perconatoolkit 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:DB22*/;
  3. [root@DB22 ~]# pttablesync replicate test.checksum synctomaster 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

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。