记录一次删了开发环境数据库文件恢复的过程!(大部分恢复)

本文记录了一次误删开发环境数据库文件后的恢复过程。通过lsof命令找到相关进程,结合/proc/pid/fd目录下的(deleted)文件,实现日志和部分数据库文件的恢复。然而,由于内存限制和文件格式匹配问题,只能恢复部分数据,最终借助测试环境数据完成恢复。
摘要由CSDN通过智能技术生成

是的,我一不小心把开发环境下数据库的data删除了

show variables like '%datadir%';

对的,就是上面这个路径下的全删了,恐怖。。。。。 当时脑子一片空白,想想还好是开发环境,后面赶快找运维恢复。。

 

删了这些文件之后,mysql进程还在(这是最好的结果),服务已经挂了。

 

在看完运维噼里啪啦一顿操作数据库终于恢复好了(有惊无险。。),赶紧抓着这个机会向大佬学习了一波,后来我自己又试着恢复了日志文件,下面就用恢复日志来举例,恢复数据库文件也是一样的过程(但是复杂多了,考虑的东西也多多了)。

 

注意:这种恢复方法只能恢复那些被进程调用并存在于内存中的文件,如服务的日志文件,数据库的数据等,对于日志和数据库的恢复来说非常有用

 

恢复过程:

1、首先先查到我们删除的文件会被哪个关联的进程调用(这个是恢复前提,没有这个就不能恢复),我们可以看到这时运行着redis服务,端口是6380, 这时开着aof 每秒追加的模式。如果对redis持久化不熟悉的可以查 redis学习日记(二):redis 小工具及持久化

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值