[LNMP]Mysql主从一致性检查与修复
2016-02-21 本文已影响318人
tumg的LNMP_IOS小集
Percona Toolkit做过mysql主从维护都知道,一旦出现主从不同步后比较麻烦,而跳过错误的方法可能会导致数据的不一致,这对于需要严格数据一致性的应用要求来说是不可接受的,手工方式重新做同步步骤比较多,以下方法是通过一个工具来完成一致性修复的问题,可以大大节省时间。
使用工具
Percona Toolkit:官网链接
安装
- 依赖安装
<pre>
yum install -y perl-DBI perl-DBD-MySQL perl-Time-HiResperl-IO-Socket-SSL
</pre> - 工具安装
<pre>
wget percona.com/get/percona-toolkit.rpm
rpm -Uvh percona-toolkit.rpm
</pre> - 创建日志数据库
根据官网文档创建数据表结构 ,示例中:test.checksums 为记录结果的表。
通过工具获取优化建议
- 分析mysql配置并建议:pt-variable-advisor --user=root localhost
- 慢查询日志分析:pt-query-digest/data/DB/mysql/mysql-slow.log(具体路径有所不同)
常规检查
- mysql服务状态: pt-mysql-summary--host=localhost --user=root
- 主从状态监测: pt-slave-find --host=localhost --user=root
- mysql死锁监测: pt-deadlock-logger--host=localhost --user=root
一致性检查
-
pt-table-checksum --replicate=test.checksums--host=localhost --user=root --databases=test
检查结果
一致性修复
-
pt-table-sync--execute --replicate=test.checksums --charset=utf8 h=localhost u=root
修复结果
注:同步前做好相应备份工作,并且避开业务高峰期操作。
整理于2014/04