【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数据库发布系统存储的方法有:1.mysql库主从读写分...
使用mysql的方法:在“我的电脑”→右键→“管理”→“服务”...
在mysql中查看root用户权限的方法:1.命令行启动mysql服务;...
MySQL主从复制是用来备份一个与主数据库一样环境的从数据库,...
运行mysql的方法1.启动mysql服务,在“我的电脑”→右键→“...
开启mysql的方法1.可以通过快捷键win+r,输入cmd,打开窗口,...