mysql pt check sum_percona工具pt-table-checksum

利用pt-table-checksum进行数据库同步检查

rpm方式#wget percona.com/get/percona-toolkit.rpm

源码方式#wget http://www.percona.com/downloads/percona-toolkit/2.2.1/percona-toolkit-2.2.8.tar.gz

#yum install perl perl-CPAN perl-DBD-MySQL perl-Time-HiRes

解压,#perl Makefile.PL;make;make install

登陆slave和master(两边都要)

mysql>grant select,create,drop,delete,index,execute,super,process,replication slave on *.* to ptsum@'127.0.0.1' identified by 'ptchecksums';

mysql>grant select,create,drop,delete,index,execute,super,process,replication slave on *.* to ptsum@'master's IP' identified by 'ptchecksums';

mysql>grant select,create,drop,delete,index,execute,super,process,replication slave on *.* to ptsum@'slave's IP' identified by 'ptchecksums';

在新版本的pt-table-ckecksum不用自己添加checksums表,

#pt-table-checksum  --nocheck-replication-filters --replicate=test.checksums --databases=a,b,c --no-check-binlog-format h=slave的IP,u=username,p=password,P=port

命令表示不检查复制过滤器,把检查结果写到mysql中test库中的checksums表,检查的库为a,b,c,不检查binlog日志格式,并指定相关相信(地址,用户名,密码与商品)

如果binlog日志格式为row的话会报错,通过上面--no-check-binlog-format来去除binlog日志检查,以防报错

此时如果提示Diffs cannot be detected because no slaves were found.  Please read the --recursion-method documentation for information.

需要添加一个mysql路由记录

登陆主库

mysql>CREATE TABLE `test.dsns` ( `id` int(11) NOT NULL AUTO_INCREMENT,`parent_id` int(11) DEFAULT NULL,`dsn` varchar(255) NOT NULL,PRIMARY KEY (`id`));

mysql>use test

mysql>insert into dsns values(1,1,'h=slave的IP,u=username,p=password,P=3306');

在数据库test中新建一张mysql的路由表,记录slave连接方式,#pt-table-checksum  --nocheck-replication-filters --replicate=test.checksums --databases=a,b,c --no-check-binlog-format h=master的ip,u=username,p=password,P=3306 --recursion-method dsn=D=test,t=dsns

命令表示:用。dsn方式进行检查,D指上面存放mysql的路由表的库,t是指表名

6dbae71180405c4f46ede07953ebcf23.png

其中一些字段的说明

TS :完成检查的时间。

ERRORS :检查时候发生错误和警告的数量。

DIFFS :0表示一致,1表示不一致。当指定--no-replicate-check时,会一直为0,当指定--replicate-check-only会显示不同的信息。

ROWS :表的行数。

CHUNKS :被划分到表中的块的数目。

SKIPPED :由于错误或警告或过大,则跳过块的数目。

TIME :执行的时间。

TABLE :被检查的表名。

--nocheck-replication-filters :不检查复制过滤器,建议启用。后面可以用--databases来指定需要检查的数据库。

--no-check-binlog-format : 不检查复制的binlog模式,要是binlog模式是ROW,则会报错。

--replicate-check-only :只显示不同步的信息。

--replicate= :把checksum的信息写入到指定表中,建议直接写到被检查的数据库当中。

--databases= :指定需要被检查的数据库,多个则用逗号隔开。

--tables= :指定需要被检查的表,多个用逗号隔开

h=127.0.0.1 :Master的地址

u=root :用户名

p=123456 :密码

P=3306 :端口

dsn=D :表示用dsn方式进行检查,D为database

t=dsns :表示用这张表,

检查同步后,可以用pt-table-sync进行同步,具体可以看下博客

http://www.cnblogs.com/2myroad/p/3842774.html

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

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

相关文章

如何通过BBED找回删除数据

项目案例:客户删除delete了重要数据,无备份,客户联系我,要求恢复相应数据。本次通过实验方式重现客户现场。备份高于一切,首先备份,再操作 创建表格: create table king(age number,name varcha…

mysql 重置密码语音_数字语音信号处理学习笔记语音信号的同态处理(2)

5.4 复倒谱和倒谱 定义 设信号x(n)的z变换为X(z) z[x(n)],其对数为: (1) 那么 的逆z变换可写成: (2) 取 (1)式则有 (3) 于是式子(2)则可以写成 (4) 则式子(4)即为信号x(n)的复倒谱 的定义。因为 一般为复数,故称 为复倒谱。如果对…

NFS 八步神曲

Server:第一步yum install - y nfs*第二步vi /etc/exports第三步/var/testdirs *(rw,all_squash,anonuid99,anongid99,sync)第四步service nfs start第五步chkconfig --level 35 nfs on Client第一步mount 192.168.1.X:/var/www/testdirs /var/www/testdirs第二步vi /et…

mysql权限日志_mysql权限管理、日志管理及常用工具

mysqlbinlog用法如下:mysqbinlog mysql.err 查询错误日志当然可以通过添加参数来查看指定内容,如:mysqlbinlog mysql-bin.000001 -d test 只显示对test数据库的二进制日志mysqlbinlog mysql-bin.000001 -o 3 -r result-file 首先忽略前三个操作&…

Juicer.js模板引擎问题

由于jsp中的EL表达式语法和jquery.tmpl十分类似,,所以单纯的使用${name},数据是渲染不上tmpl的. SO.. 要加上转义: ${${}amount} 或者 \${amount} 转载于:https://www.cnblogs.com/fighxp/p/7890288.html

python把回车作为输入_python将回车作为输入内容的实例

当input输入内容的时候,许多情况下输入回车键另起一行输入,但是这时候Pycharm就执行程序,然后结束,导致无法继续输入内容。 原因:Python默认遇到回车的时候,输入结束。所以我们需要更改这个提示符,在遇到其他字符的时候,输入才结束。 比如有一个任务: 请输入文件名:悯…

ubuntu下修改时区和时间

applications-Accessories-Time & Date-点下锁-输入密码-把时区改成上海(这个要点图中国与朝鲜之间的弯处才行,写不生效)-Set the time 选Manually-改下时间、日期-直接关闭即可(重启后依然生效) 注:从电脑上边的时间处-Time …

python提供了9个基本的数值运算操作符_Python学习笔记(三)Python基本数字类型及其简单操作(1)...

一、数字类型表示数字或数值的数据类型称为数字类型,Python语言提供3种数字类型:整数、浮点数和复数,分别对应数学中的整数、实数和复数,下面就一起来了解一下他们吧!1.整数类型整数类型与数学中整数的概念一致,整数类…

hdu 5139 数据的离线处理

所谓的数据离线处理,就是将所有的输入数据全部读入后,在进行统一的操作,这样当然有好处,比如让你算好多数的阶层,但是输入的每个数是没有顺序的,其实跟可以线性的解决,但是由于没有顺序的输入&a…

vue 后台返回的文件流进行预览_vue实现下载文件流完整前后端代码

这篇文章主要为大家详细介绍了vue实现下载文件流完整前后端代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下使用Vue时,我们前端如何处理后端返回的文件流首先后端返回流,这里我把流…

OSPF-5类LSA和4类LSA

# 5类LSA :外部路由前缀 ASBR的router_id IOU5#sh ip ospf data extOSPF Router with ID (5.5.5.5) (Process ID 1)Type-5 AS External Link StatesLS age: 71Options: (No TOS-capability, DC, Upward)LS Type: AS External LinkLink State ID: 10.1.55.0 (Extern…

2014年9月计算机二级mysql真题_2017年9月全国计算机二级MySQL考试章节练习题

2017年9月全国计算机二级MySQL考试章节练习题计算机二级考试成绩在“及格”,即60~89分者,由教育部考试中心发合格证书,考试成绩在“优秀”,即90~100分者,由教育部考试中心发优秀证书。这是小编给大家提供的2017年9月全…

macOS 10.11.* 安装scrapy

1.安装brew,然后修改brew源为某高校 2.更新python brew install python 3.安装pip 4.安装scrapy,这里肯定会有一个坑,之前在网上看到10.11开启了什么rootless的东西, 会遇到安装six失败,原因是由于系统安装了six&#…

eclipse使用小技巧

1. eclipse自带内存监视及回收插件 菜单 Window > Preferences > General > 右边,把 Show Heap Status 打上勾就会在右下角任务栏显示内存监视器,并且可以点击内存回收。 2. http://www.eclipse.org/downloads/3. 摘录热键篇:Template&#xff…

mysql @ $_mysql常见笔试题

一、Mysql常见笔试题1、Mysql 中有哪几种锁?(1)表级锁:开销小,加锁快。不会出现死锁,锁定粒度大,发生锁冲突的概率高,并发度低。(2)行级锁:开销大,加锁慢。会出现死锁,锁…

mysql无法与外部健形成约束_MySQL Rails:错误:150“外键约束不正确”

我试图迁移我的Rails MySQL数据库,我收到以下错误:ActiveRecord :: StatementInvalid:Mysql2 :: Error:无法创建表development.comments(错误:150“外键约束形成错误”):CREATE TABLE注释(id int AUTO_INCR…

按角度构建切变矩阵

切变是坐标系的变换,非均匀的拉伸。切变时候,角度变化,但是面积或体积不变。也可以理解为坐标轴间的角度变化,造成的扭曲。 如下图,这是x坐标根据y坐标的切变,机器人的y坐标没有变化,只有x坐标变…

java 语法_Java基础语法

标识符定义给包,类,方法,变量起名字的符号。组成规则标识符由字母、数字、下划线、美元符号组成。命名原则:见名知意包名:全部小写,多级包用.隔开。举例:com.jourwon类、接口:一个单词首字母大写,多个单词每个单词的首字母大写。举…

POJ1061:青蛙的约会——题解

http://poj.org/problem?id1061 Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的…

用了mysql报oracle错误_mysql数据迁移到oracle错误总结

最近处理一个需求,使用脚本方式将mysql里的数据迁移到oracle中。处理思路主要是利用mysqldump导出的insert dump文件,oracle中建立相同表结构执行insert。记录本次操作中遇到的问题与处理方式:1、超4000字节字符串导入问题描述oracle varchar…