数据库数据一致性检验部署文档

1、pt-table-checksum 安装:

各个版本一览地址:http://www.percona.com/downloads/percona-toolkit/

我们所需软件下载地址:

具体的安装步骤如下:

yum install    perl    mysql    perl-DBD-MySQL    -y(安装percona-toolkit所需要的软件包)

tar -zxvf percona-toolkit-2.2.2.tar.gz

cd percona-toolkit-2.2.2

perl Makefile.PL

make && make install

#vim percona-toolkit-2.2.2/README (如果安装中有问题,请查考README)

2、修改MySQL相关环境变量

rm     -rf     /usr/bin/mysql

rm     -rf     /usr/bin/mysqladmin

rm     -rf     /usr/bin/mysqlaccess

rm     -rf     /usr/bin/mysqlbinlog

rm     -rf     /usr/bin/mysqlcheck

rm     -rf     /usr/bin/mysqldump

ln     -s      /usr/local/mysql5/bin/mysql     /usr/bin/

ln     -s      /usr/local/mysql5/bin/mysqladmin    /usr/bin/

ln     -s      /usr/local/mysql5/bin/mysqlaccess    /usr/bin/

ln     -s      /usr/local/mysql5/bin/mysqlbinlog    /usr/bin/

ln     -s      /usr/local/mysql5/bin/mysqlcheck    /usr/bin/

ln     -s      /usr/local/mysql5/bin/mysqldump    /usr/bin/

3、在Master库上授权:

GRANT update,insert,delete,SELECT, PROCESS, SUPER, REPLICATION SLAVE ON *.* TOchecksum@'Master ip'IDENTIFIED BY '1q2w3e4r' ;

4、手动创建数据库pts并创建checksums 表,保存pt-table-checksum 检测数据:

CREATE TABLE checksums (

dbchar(64)    NOT NULL,

tblchar(64)    NOT NULL,

chunkint    NOT NULL,

chunk_timefloat    NULL,

chunk_indexvarchar(200)    NULL,

lower_boundary text    NULL,

upper_boundary text    NULL,

this_crcchar(40)    NOT NULL,

this_cntint    NOT NULL,

master_crcchar(40)    NULL,

master_cntint    NULL,

tstimestamp    NOT NULL,

PRIMARY KEY (db, tbl, chunk),

INDEX ts_db_tbl (ts, db, tbl)

) ENGINE=InnoDB;

5、执行pt-table-checksum 检查主从数据表:

/usr/bin/pt-table-checksumh='Master_IP',u='checksum',p='1q2w3e4r',P=3306--nocheck-replication-filters \

--no-create-replicate-table --replicate=pts.checksums--no-check-binlog-format--set-vars innodb_lock_wait_timeout=50

上面显示的参数说明:

TS:完成检查的时间。

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

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

ROWS:表的行数。

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

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

TIME:执行的时间。

TABLE:被检查的表名。

6、通过计划任务来定时校验数据一致性

#cat /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

0 8 * * * root /data/scripts/Consistency.sh

7、Consistency.sh脚本内容

#cat /data/scripts/Consistency.sh

#!/bin/sh

#set -x

DIR=/data/scripts/Consistency/

cd ${DIR}

TIME=`date -d today +%Y%m%d%H%M`

###############################################################################

/usr/bin/pt-table-checksumh='Master_ip',u='checksum',p='1q2w3e4r',P=3306--nocheck-replication-filters \

--no-create-replicate-table --replicate=pts.checksums--no-check-binlog-format--set-vars innodb_lock_wait_timeout=50 >> ${DIR}${TIME}.txt

###############################################################################

8、创建一致性检验结果文件目录

#mkdir-p/data/scripts/Consistency/

注释:涉及的IP都是主库IP地址

mysql主从数据库验证_数据库主从一致性验证相关推荐

  1. 【MySQL 第10章_数据库的设计规范】

    第10章_数据库的设计规范 1. 为什么需要数据库设计 2.范式 2.1范式简介 2.2范式都包括哪些 2.3 键和相关属性的概念 2.4第一范式(1st NF) 2.5 第二范式(2nd NF) 2 ...

  2. 以下 D 不是MYSQL的对象权限_数据库课后习题及答案

    一.选择题[数据库系统的概述] 1. 数据库(DB).数据系统(DBS).数据管理系统(DBMS)之间关系是(C) A.DB包含DBS和DBMS B.DBMS包含DB和DBS C.DBS包含DB和DB ...

  3. 电脑mysql是什么意思_数据库是什么意思

    展开全部 数据库需要从以下几个方面去了解: 一.数据库功能: 数据库(Database)是按照数据结构来组织.存储和管理数e5a48de588b6323131333532363134313032313 ...

  4. mysql dbms是什么_数据库管理系统(DBMS)是用来做什么的?

    展开全部 数据库管理系统(database management system)是一种操纵和32313133353236313431303231363533e58685e5aeb93133326235 ...

  5. Mysql存储过程名规则_数据库对象命名规范一(原则、命名、 表、视图、存储过程、函数、触发器命名规范)...

    命名规范是指数据库对象如数据库(SCHEMA).表(TABLE).索引(INDEX).约束(CONSTRAINTS)等的命名约定. 1. 原则命名使用具有意义的英文词汇,词汇中间以下划线分隔. 命名只 ...

  6. MySQL删除空值语句_数据库语句sql 删除空记录

    最简单删除SQL Server中所有数据的方法 原文:最简单删除SQL Server中所有数据的方法 最简单删除SQL Server中所有数据的方法   编写人:CC阿爸   2014-3-14 其实 ...

  7. java mysql数据库回退_数据库事务及Java中的处理

    事 务是指一组相互依赖的操作行为,举一个举得不能再被举的例子就是银行交易,当然还有其他像网上购物,电子货币交易等等,事务的成功取决于这些相互依赖的操 作行为是否都能执行成功,只要有一个操作行为失败,就 ...

  8. mysql数据库算法_数据库:MySQL索引背后的数据结构及算法原理【转】

    原文:http://blog.codinglabs.org/articles/theory-of-mysql-index.html 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话 ...

  9. mysql双机互备linux成功的_配置MySQL双机热备 - Linux服务器MySQL双机热备份试验_数据库技术_Linux公社-Linux系统门户网站...

    二.配置MySQL双机热备 传统模式都是采用MySQL双机互备,至于双机热备我搜索了大量的精华帖子都没有发现安装配置文档.故我的一个想法产生了:当建立新的数据库时,默认会建立到/usr/local/m ...

  10. mysql打错了怎么办_数据库出错了怎么办?

    下面是网上收集的多种方法,大家可以测试下. (一) 昨晚浏览自己的Blog的时候,突然发现所有页面都无法显示,到后台查看的时候,发现一个"Table 'xxx' is marked as c ...

最新文章

  1. Numpy入门教程:07. 随机抽样
  2. Docker多台宿主机间的容器互联-centos7
  3. CS231n课程笔记翻译系列之目录汇总
  4. 再见,Matplotlib!
  5. 卓越性能代码_装好win10后,应该这样设置,才能压榨出系统十足的性能
  6. spring----06 更多DI知识
  7. lia人是什么意思_69年属鸡人终身灾难是什么意思
  8. 离职 Oracle 首席工程师怒喷:MySQL 是“超烂的数据库”,建议考虑 PostgreSQL
  9. php添加pdo_mysql_php下添加pdo_mysql扩展
  10. 64位Python读取周立功USBCAN-I信息
  11. Junit 4 与Junit 5区别
  12. Docker 管理之 --- 资源限制
  13. cogs——1008. 贪婪大陆(清华巨佬代码)——树状数组
  14. 上经 -- 乾【卦一】乾为天(一)
  15. 直线拟合c语言程序,ax+by+c=0 型直线拟合算法
  16. 仿淘宝ViewPager左滑加载详情界面
  17. 懂AI的医生一定会替代不懂AI的医生
  18. verilog状态机练习
  19. CSP - J 2020 T2 直播获奖
  20. #洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯

热门文章

  1. 运用El表达式截取字符串/获取list的长度
  2. Tomcat虚拟目录
  3. php数组的元素个数,php怎么统计数组元素的个数
  4. Oracle数据库教程(Oracle备份、恢复、升级、迁移)视频教程
  5. centos 7 五笔安装
  6. WebStorm 10支持TypeScript 1.4到JavaScript的实时编译
  7. 2012年度IT博客大赛50强报道:贾小平
  8. 《PC World》:Linux在桌面市场毫无长进 已经死亡
  9. 当你扛不住的时候就读读
  10. Archive引擎初探