• 28. pt-table-sync


    前提:得有checksum表


    pt-table-sync --replicate=pt.checksum
    h=192.168.100.101,P=3306,u=admin,p=admin
    h=192.168.100.102,P=3306,u=admin,p=admin
    h=192.168.100.103,P=3306,u=admin,p=admin
    --print --execute


    第一行地址是master
    第二行地址是slave1
    如果有第三行地址,那是slave2
    如果只有master的地址,那么会把所有slave都修复


    --replicate= :指定通过pt-table-checksum得到的表,这2个工具差不多都会一直用。
    --databases= : 指定执行同步的数据库,多个用逗号隔开。
    --tables= :指定执行同步的表,多个用逗号隔开。
    --sync-to-master :指定一个DSN,即从的IP,他会通过show processlist或show slave status 去自动的找主。
    h=127.0.0.1 :服务器地址,命令里有2个ip,第一次出现的是Master的地址,第2次是Slave的地址。
    u=root :帐号。
    p=123456 :密码。
    --print :打印,但不执行命令。
    --execute :执行命令。


    ==============================================

    实验:
    master , slave1 , slave2数据各不相同,而且差别挺大,slave1和slave2都已经复制出错停止了,怎么修复?


    master停止更新,保持静止状态,取show master status的值
    '5c0d1853-e7ed-11e8-99df-000c29c609e1:1-236527,66c6ba64-e89d-11e8-afe3-005056341042:1-3357'

    在slave1和slave2上都做:

    stop slave;

    reset master;

    set global gtid_purged='5c0d1853-e7ed-11e8-99df-000c29c609e1:1-236527,66c6ba64-e89d-11e8-afe3-005056341042:1-3357';

    start slave;

    这样主从都是静止状态,而复制又是双yes

    然后就是在主库checksum , 再sync,把主从数据都调一致。

    然后master就可以正常oltp了,从库也正常复制了。

    ok

    wechat: nick753159 qq: 417966852 email: nzq42@qq.com base: shanghai
  • 相关阅读:
    PHP之项目环境变量设置
    nginx相关服务实践
    模拟器的基本使用
    Redis常见问题汇总
    用OpenResty搭建高性能服务端
    Lua代码规范
    Lua之基础篇
    如何设计一个高性能短链系统?
    通过双 key 来解决缓存并发问题
    Golang常见问题汇总
  • 原文地址:https://www.cnblogs.com/cyberbit/p/pt-table-sync.html
Copyright © 2020-2023  润新知