mysql主从数据库验证_数据库主从一致性验证
数据库数据一致性检验部署文档
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主从数据库验证_数据库主从一致性验证相关推荐
- 【MySQL 第10章_数据库的设计规范】
第10章_数据库的设计规范 1. 为什么需要数据库设计 2.范式 2.1范式简介 2.2范式都包括哪些 2.3 键和相关属性的概念 2.4第一范式(1st NF) 2.5 第二范式(2nd NF) 2 ...
- 以下 D 不是MYSQL的对象权限_数据库课后习题及答案
一.选择题[数据库系统的概述] 1. 数据库(DB).数据系统(DBS).数据管理系统(DBMS)之间关系是(C) A.DB包含DBS和DBMS B.DBMS包含DB和DBS C.DBS包含DB和DB ...
- 电脑mysql是什么意思_数据库是什么意思
展开全部 数据库需要从以下几个方面去了解: 一.数据库功能: 数据库(Database)是按照数据结构来组织.存储和管理数e5a48de588b6323131333532363134313032313 ...
- mysql dbms是什么_数据库管理系统(DBMS)是用来做什么的?
展开全部 数据库管理系统(database management system)是一种操纵和32313133353236313431303231363533e58685e5aeb93133326235 ...
- Mysql存储过程名规则_数据库对象命名规范一(原则、命名、 表、视图、存储过程、函数、触发器命名规范)...
命名规范是指数据库对象如数据库(SCHEMA).表(TABLE).索引(INDEX).约束(CONSTRAINTS)等的命名约定. 1. 原则命名使用具有意义的英文词汇,词汇中间以下划线分隔. 命名只 ...
- MySQL删除空值语句_数据库语句sql 删除空记录
最简单删除SQL Server中所有数据的方法 原文:最简单删除SQL Server中所有数据的方法 最简单删除SQL Server中所有数据的方法 编写人:CC阿爸 2014-3-14 其实 ...
- java mysql数据库回退_数据库事务及Java中的处理
事 务是指一组相互依赖的操作行为,举一个举得不能再被举的例子就是银行交易,当然还有其他像网上购物,电子货币交易等等,事务的成功取决于这些相互依赖的操 作行为是否都能执行成功,只要有一个操作行为失败,就 ...
- mysql数据库算法_数据库:MySQL索引背后的数据结构及算法原理【转】
原文:http://blog.codinglabs.org/articles/theory-of-mysql-index.html 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话 ...
- mysql双机互备linux成功的_配置MySQL双机热备 - Linux服务器MySQL双机热备份试验_数据库技术_Linux公社-Linux系统门户网站...
二.配置MySQL双机热备 传统模式都是采用MySQL双机互备,至于双机热备我搜索了大量的精华帖子都没有发现安装配置文档.故我的一个想法产生了:当建立新的数据库时,默认会建立到/usr/local/m ...
- mysql打错了怎么办_数据库出错了怎么办?
下面是网上收集的多种方法,大家可以测试下. (一) 昨晚浏览自己的Blog的时候,突然发现所有页面都无法显示,到后台查看的时候,发现一个"Table 'xxx' is marked as c ...
最新文章
- Numpy入门教程:07. 随机抽样
- Docker多台宿主机间的容器互联-centos7
- CS231n课程笔记翻译系列之目录汇总
- 再见,Matplotlib!
- 卓越性能代码_装好win10后,应该这样设置,才能压榨出系统十足的性能
- spring----06 更多DI知识
- lia人是什么意思_69年属鸡人终身灾难是什么意思
- 离职 Oracle 首席工程师怒喷:MySQL 是“超烂的数据库”,建议考虑 PostgreSQL
- php添加pdo_mysql_php下添加pdo_mysql扩展
- 64位Python读取周立功USBCAN-I信息
- Junit 4 与Junit 5区别
- Docker 管理之 --- 资源限制
- cogs——1008. 贪婪大陆(清华巨佬代码)——树状数组
- 上经 -- 乾【卦一】乾为天(一)
- 直线拟合c语言程序,ax+by+c=0 型直线拟合算法
- 仿淘宝ViewPager左滑加载详情界面
- 懂AI的医生一定会替代不懂AI的医生
- verilog状态机练习
- CSP - J 2020 T2 直播获奖
- #洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯