一、环境
1、系统环境
系统IP主机名说明server_id
centos6.7
MasterIP
master
数据库:主
177
centos6.7
SlaveIP
slave
数据库:从
148
2、软件环境
软件版本安装方式说明
pt工具
3.0.4
编译安装
这是一个综合工具包,包含很多pt命令
mysql数据库
5.6.37
yum安装
主从环境
3、需要用到库
库名表名用途
percona
checksums
存储pt命令监测的结果,第一次执行检测命令时会自己创建
修复工具修复的时候会读取该表
#本表格也可以自己创建,在使用pt工具的时候指定库表名字,详见下面的参数解释。
注意:自建库表测试尚未通过。
二、为什么要做主从一致性监测
1、主从复制是基于binlog的逻辑复制,难免出现复制数据不一致的风险
2、这个风险不但会引起用户数据访问前后不一致的风险
3、而且会导致后续复制出现1032、1062错误进而引起复制架构停滞的隐患
4、为了及时发现并解决这个问题
5、我们需要定期或不定期地开展主从复制数据一致性的校验和修复工作
三、主从一致性监测原理
四、pt工具监测
用到的命令:
1、pt-table-check #监测主从一致
2、pt-table-sync #修复主从一致
mysql主从一致性校验,基于pt工具进行。
#限制及问题
1、在检查阶段,超过1000行的数据,如果没有设定索引或者主键,则报错,该表会跳过检查。
2、在修复阶段,如果表没有设置主键或索引,则修复报错,可以手动进行修复。
3、监测是基于块进行的,如果mysql表的数据没有进行分块,那么当表过大时,会造成监测一段时间后发现没有问题会跳过改表。
4、当数据库两个数据不一致,但是checksum检测一致时,没有比对出不一致。
主库和从库