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

转载于:https://www.cnblogs.com/danhuangpai/p/9178517.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/254356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mpeg2,mpeg4,h264编码标准的异同

1、宏块匹配像素精度: MPEG2中,运动估计的精度是1/2的像素,通过线性插值实现(可能有简单修正); H264和MPEG4 都可以支持1/4像素的精度 2、参考帧的数量:MPEG2,MPEG4的P帧只能有一帧…

四十岁学编程(一)

有时想想,人生还真的是曲折,人到中年了,我才开始学编程。 这一学,就是三年多,我居然坚持了下来。 更没想到的是,三年后的我居然有勇气投简历求职前端,虽然面试前战战兢兢。 很多时候&#xff0c…

01_SQlite数据库简介

转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/7023014.html

GNU Make 使用手册(中译版)

翻译:于凤昌译者注:本人在阅读Linux源代码过程中发现如果要全面了解Linux的结构、理解Linux的编程总体设计及思想必须首先全部读通Linux源代码中各级的Makefile文件。目前,在网上虽然有一些著作,但都不能全面的解释Linux源代码中各…

基础10 多进程、协程(multiprocessing、greenlet、gevent、gevent.monkey、select、selector)...

1.多进程实现方式(类似于多线程) 1 import multiprocessing2 import time,threading3 4 def thread_run():#定义一个线程函数5 print("我是子线程%s" %threading.get_ident()) #threading.get_ident()函数获取当前线程的id6 def run(name…

C#比较运算符及解析

文章目录博主写作不容易,孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 比较运算符得出的结果是逻辑型(bool),即 True 或 False 。 比较运算符又称关系运算符,我们可以把它理解为一种判断,判断的结果…

开发人员MySQL调优-理论篇

2019独角兽企业重金招聘Python工程师标准>>> 修改字符集 查看字符集 show variables like character% show variables like %char% 上面的两个命令都可以,我一般使用的下面的,会出来如下几个字符集设定的选项: character_set_clie…

Java基础之反射机制

Java反射机制 反射机制是什么 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为ja…

C#逻辑运算符及解析

文章目录博主写作不容易,孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 逻辑运算符用于连接一个或多个条件,判断这些条件是否成立。 C#的逻辑运算符可以分为两类: “&” “|” “&…

通过ProGet搭建一个内部的Nuget服务器

.NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以及更新组件即可一键完成,大大提升工作效…

unity官方教程-TANKS(一)

unity官方教程TANKS,难度系数中阶。跟着官方教程学习Unity,通过本教程你可以学会使用Unity开发游戏的基本流程。 一、环境 Unity 版本 > 5.2Asset Store 里面搜索 Tanks!Tutorial ,下载导入 二、项目设置 为了便于开发,很多时候我们选用的…

Play框架的用户验证。

最近刚刚参与一个基于Play框架的管理平台的升级工作,其中涉及到了用户的验证工作。第一次接触play框架,直接看已有代码,有点晕。因此,自己实现了一个简单的用户验证功能。 首先,新建一个User类,包含两个属性…

C#条件运算符if-else的简化格式

文章目录博主写作不容易,孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 条件运算符(?:)是if……else的简化形式 其使用格式为&#xff1a…

码率控制方式选择

同码率下的图像质量或同图像质量下的码率。 AVCodecContext /** * the average bitrate * - encoding: Set by user; unused for constant quantizer encoding. * - decoding: Set by libavcodec. 0 or some bitrate if this info is available in the strea…

Fortran执行语句中的“双冒号” ::

双冒号“::”,通常出现于Fortran在变量声明中,但是在特殊情况下,也会出现于数组中。例如: ... real,target,dimension(10):: a real,pointer,dimension(:):: pa,pb integer:: n3 ... pa > a(n::1) pb > a(n:10:1) ... 咋一看…

VS配置本地IIS以域名访问

1.IIS下配置自己的网站,添加主机名 2.修改hosts文件(C://Windows/System32/drivers/etc) 3.VS中配置项目Web服务器(选择外部主机) 转载于:https://www.cnblogs.com/zuimeideshi520/p/7028544.html

try、catch、finally 和 throw-C#异常处理

文章目录博主写作不容易,孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。 异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。…

Spark RDD/Core 编程 API入门系列 之rdd实战(rdd基本操作实战及transformation和action流程图)(源码)(三)...

本博文的主要内容是: 1、rdd基本操作实战 2、transformation和action流程图 3、典型的transformation和action RDD有3种操作: 1、 Trandformation 对数据状态的转换,即所谓算子的转换 2、 Action 触发作业,即所谓得结果…

用GDB调试程序

GDB概述GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所…