zoukankan      html  css  js  c++  java
  • mysql 案例 ~ pt修复工具的使用

    简介:今天咱们来聊聊PT修复工具pt-table-sync

    注意事项:
       1 表要有主键或者唯一键
       2 针对每一个chunk加的是for update锁
       3 修复过程中不能容忍从库延迟 如果从库延迟太多,pt-table-sync会长期持有对chunk的for update锁,然后等待从库的master_pos_wait执行完毕或超时。从库延迟越大,等待过程就越长,主库加锁的时间就越长,对线上影响就越大
       4 有触发器和主外键约束的情况下要慎用
       5 主从数据不一致需要通过replace into来修复,在主库应用生成binlog,并会应用到所有从库
       6 根据pt-table-checksum的表信息修复的,所以要先校验后修复
       7 pt-table-sync不会同步表结构、索引等,只同步不一致的数据
    用户权限
       GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP,SUPER ON db.* TO 'god'@'%' IDENTIFIED BY 'god'//修复的库
    相关参数
       –sync-to-master 指定一个DSN,即从的IP,他会通过show processlist或show slave status 去自动的找主。
       --unique-checks 唯一键检测
       --print 进行打印语句
       --execute 真正执行
    常用命令范式
       pt-table-sync --replicate test.checksums --sync-to-master --unique-checks h=从IP,P=3306,u=god,p=god --print 打印
       pt-table-sync --replicate test.checksums --sync-to-master --unique-checks h=从IP,P=3306,u=god,p=god --execute 执行
    解决思路
      1 先用pt-table-checksum校验一遍,确定不一致的程度:如果不同步的很少,用pt-table-sync直接修复;否则,用备份先替换它,然后用pt-table-sync修复
      2 在用rsync工具修复的时候最好先print再execute或者手工对从库执行sql即可
    补充
      针对主从同步发生一些错误的场景
      1 pt-table-checksum 针对发生的表进行校验,最好采用DSNS
      2 pt-table-sync 根据第一步的信息进行修改,然后执行sql

  • 相关阅读:
    给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
    11
    实战 迁移学习 VGG19、ResNet50、InceptionV3 实践 猫狗大战 问题
    tx2系统备份与恢复
    如何在Ubuntu 18.04上安装和卸载TeamViewer
    bzoj 3732 Network (kruskal重构树)
    bzoj2152 聪聪可可 (树形dp)
    牛客 216D 消消乐 (二分图最小点覆盖)
    牛客 197E 01串
    Wannafly挑战赛23
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/9178517.html
Copyright © 2011-2022 走看看