码迷,mamicode.com
首页 > 系统相关 > 详细

linux lsof恢复误删除的文件

时间:2016-02-03 14:35:20      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:lsof恢复数据文件

早上起来被告知昨晚误删除了3个mysql的文件,只能恢复了

这是删除前的文件信息:

技术分享

首先lsof查看进程:

技术分享

这里PID都是一样的,下面进入proc里ls -l查看:

# cd /proc/8784/fd/

技术分享

这里可以看到ibdata1删除的信息了

接着直接cp复制

#cp 4 /tmp/ibdata1.bak

其余的2个同理恢复,下面是恢复后的文件:

技术分享

+++++++++++++++++++++++++++++++++++++++++++++

虽然恢复了,但是事情绝对没有这么简单!!!

因为,在innodb的buffer pool中,有许多dirty page(就是内存中的数据已经被修改,但是没有写回文件中),如果直接把文件复制回去,轻则数据丢失,重则ibdata1文件损坏。

我们必须保证所有buffer pool中的数据修改都保存到了硬盘文件上面,然后在恢复文件。


本文出自 “毛竹之势” 博客,请务必保留此出处http://peaceweb.blog.51cto.com/3226037/1740868

linux lsof恢复误删除的文件

标签:lsof恢复数据文件

原文地址:http://peaceweb.blog.51cto.com/3226037/1740868

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!