作者:华融科技 刘宝珍
本文来源:转载自公众号-MySQL解决方案工程师
* 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
一、背景和大概的思路
2020 年 2 月 25 日,微信的朋友圈大量转载微盟遭遇了系统重大故障(36 小时内尚未恢复核心生产数据)。从而想到本人在两周前处理的一个案例:开发人员误删除了生产数据,本人恢复的一个过程。同时给这个故障的处理过程做一个总结,也对学过的知识做一个梳理,希望对运维的同学们有一个警示作用。
2 月 13 日 23:00 接到微信通知,能否帮忙恢复数据。
系统环境信息如下:操作系统:RHEL7.5
数据库:MySQL 5.7 社区版,一主两备
23:05 开始介入数据丢失的故障。确认一个大概解决问题的思路:找到是什么人在什么时间点做了什么操作?
这个操作对系统的影响有多大,是否对其他系统有影响?确认这个操作是不是正常业务体现?
确认数据库里受到影响的日志的时间段
在仿真环境复盘整个故障
制定技术恢复方案,在仿真环境验证数据恢复方案
在仿真环境验证数据恢复后应用是否正常
备份生产环境数据,应用数据恢复方案到生产环境
生产环境绿灯测试,无误后,恢复完成
由于恢复生产数据是重大的数据调整,需要报请领导批准,需要有完备的数据回退方案。
二、数据恢复过程以及技术分析
用了 5 分钟理清了处理这个问题思路,接下来就是考虑具体的数据恢复了。在处理这个问题过程中&#