Mysql主从复制数据一致性校验

Mysql 主从复制是基于 binlog 复制,难免出现复制数据不一致的风险,引起用户数据访问前后不一致的风险
所以要定期开展主从复制数据一致性的校验并修复,避免这些问题
解决方案之一,使用 Percona 公司下的工具 pt-table-checksum工具进行一致性校验
原理:
主库利用表中的索引,将表的数据切割成一个个 chunk( ) ,然后进行计算得到 checksum 值。
从库也执相应的操作,并在从库上计算相同数据块的 checksum ,然后对比主从中各个表的 checksum 是否 一致并存储到数据库,最后通过存储校验结果的表就可以判断出哪些表的数据不一致
pt-table-sync( 在从库执行 ) 工具进行修复不一致数据,可以修复主从结构数据的不一致,也可以修复非主 从结构数据表的数据不一致
原理:在主库上执行数据的更改,再同步到从库上,不会直接更改成从库的数据。在主库上执行更改是基于主 库现在的数据,也不会更改主库上的数据,可以同步某些表或整个库的数据,但它不同步表结构、索引,只同步不一致的数据
注意:
默认主库要检查的表在从库都存在,并且同主库表有相同的表结构
如果表中没有索引, pt-table-checksum 将没法处理,一般要求最基本都要有主键索引
pt-table-sync 工具会修改数据,使用前最好备份下数据,防止误操作

你可能感兴趣的:(mysql,数据库)