服务器误删文件的恢复过程
如何恢复删除的文件?数据恢复的方法有哪些?

如何恢复误删除的文件呢?在目前生活中,很多用户也都会不小心误删除一些重要文件,导致数据出现丢失的现象。
对于那些重要的文件来说,一旦删除的话,对我们日常的生活也都有很大的影响,那么怎样才能恢复删除的文件呢?数据恢复的方法和技巧有哪些呢?对于删除的文件来说,是一种相对比较常规的操作,很多人也都会较长遇到这种现象,也是不可避免的。
对于文件删除的形式来说,一般分为两种形式,分别是普通删除和彻底删除,不同删除方式它所恢复的方法也都是不同的,就普通删除的文件来说,一般会默认存储在电脑回收站中,可以随时还原到文件删除前所在的位置。
但是对于永久删除的文件来说,也就不会保存在回收站中,删除文件将直接隐藏在系统文件中。
下面就为大家介绍下,常见的三种数据恢复方法:方法一:回收站删除恢复对于一些普通删除的文件来说,可以借助回收站文件进行恢复,恢复的方法也都相对比较简单,可直接双击打开电脑“回收站”图标,选择我们所需要还原的文件,右击“还原”即可找回丢失文件。
如图所示:方法二:数据恢复软件恢复数据恢复软件它所具备的功能相对比较强大,并且所恢复的文件类型也都相对较多,支持多种文件。
具体操作步骤和方法如下:步骤一:下载安装“嗨格式数据恢复大师”打开浏览器,搜索“嗨格式数据恢复大师”,点击“官网”进行下载使用。
软件下载后可按照相关操作提示进行安装,需要注意的是,软件在安装时,不能讲软件安装到删除文件所在的磁盘中,避免造成数据出现覆盖现象。
步骤二:选择软件扫描的模式类型当软件下载完成后,也就需要打开相应的软件,选择首界面中所提示的“快速扫描模式”对相应磁盘进行扫描。
步骤三:选择原数据存储的位置对于误删除的文件来说,在选择存储位置时,可直接按照我们删除文件所在的位置进行选择,当存储位置选择完成后,也就可直接点击下方的“开始扫描”即可自动对相应磁盘扫描。
步骤四:选中需要恢复的文件,点击恢复即可找回丢失文件。
当扫描结束完成后,软件也就会依次显示出我们所需要恢复的文件,双击需要恢复的文件,点击预览即可查看相关视图,同时还可判断是否是我们所需要恢复的文件,点击“恢复”即可找回丢失文件。
sql server日志文件丢失的恢复方法

sql server日志文件丢失的恢复方法SQL Server是一种关系型数据库管理系统,它提供了持久化存储数据的功能。
在使用SQL Server时,我们通常会遇到一些问题,例如日志文件丢失。
当日志文件丢失时,我们需要采取一些措施来恢复数据。
本文将一步一步地回答关于SQL Server日志文件丢失的恢复方法。
第一步:检查日志文件丢失的原因在采取任何措施之前,我们首先需要确定日志文件丢失的原因。
有几种可能的原因,例如磁盘损坏、人为删除、数据库服务中断等。
通过了解原因,我们可以更好地选择适当的恢复方法。
第二步:备份数据库在尝试恢复日志文件之前,我们应该确保已经备份了数据库。
这是非常重要的,因为如果在修复日志文件时出现问题,备份可以用来还原数据库至丢失日志文件之前的状态。
在进行任何恢复操作之前,请确保已经备份了数据库,以免造成不可逆的损失。
第三步:运行数据库完整性检查在恢复日志文件之前,我们应该运行数据库的完整性检查。
这可以帮助我们发现数据库中可能存在的一些问题,例如损坏的数据页、磁盘错误等。
通过运行完整性检查,我们可以修复这些问题,以确保数据库的稳定性。
第四步:使用备份日志恢复如果我们的数据库已经定期备份,并且丢失的日志文件在最近的备份中,我们可以使用备份日志来恢复数据库。
我们可以在SQL Server Management Studio中使用“恢复数据库”向导来完成此操作。
首先,我们选择要恢复的数据库,然后选择相应的备份文件和备份日志文件。
然后,我们可以选择恢复模式,例如完整恢复模式或简单恢复模式,并完成向导以恢复数据库。
第五步:使用事务日志恢复如果备份日志中没有包含所需的丢失日志文件,我们可以尝试使用事务日志来恢复数据库。
SQL Server将每个事务的详细信息记录在事务日志中,通过读取事务日志,我们可以逐个事务地恢复数据库。
首先,我们需要创建一个空数据库,并将其设置为恢复模式。
然后,我们可以使用恢复工具或编写T-SQL语句来读取事务日志,并逐个事务地执行以恢复数据库。
sql数据库数据删除了怎么恢复

SQL数据库数据删除了怎么恢复1. 引言在日常的数据库管理过程中,数据删除是一个常见但也容易出现问题的操作。
当数据意外被删除后,数据库管理员通常需要采取措施来恢复被删除的数据。
本文将介绍一些常见的方法和原则,帮助你了解如何从SQL数据库中恢复被删除的数据。
2. 数据库备份和日志在讨论数据恢复之前,有必要了解数据库备份和日志的概念。
数据库备份是一种常见的数据保护措施,它可以将整个数据库或部分数据备份到另一个位置,以防止数据丢失。
数据库日志是数据库记录每个数据更改操作的文件。
它记录了每个事务的详细信息,包括被删除的数据。
3. 恢复数据库备份如果你有一个最新的数据库备份,那么从备份中恢复被删除的数据是最简单的方法之一。
在执行这个步骤之前,请确保新的备份文件没有覆盖你希望恢复的数据。
步骤如下:•第一步:使用数据库管理工具(如MySQL Workbench、SQL Server Management Studio等)或命令行界面连接到数据库服务器。
•第二步:找到备份文件,并将其恢复到数据库服务器上。
具体的方法取决于所使用的数据库管理工具和备份文件格式。
•第三步:完成数据恢复后,可以使用查询语句检查是否成功恢复了被删除的数据。
4. 利用数据库日志进行恢复如果你没有可用的备份文件,但数据库启用了日志功能并且最近进行了完整操作的备份,那么你可以尝试利用数据库日志进行数据恢复。
这种方法要求你熟悉数据库日志的结构和操作。
以下是一个恢复步骤的示例:•第一步:连接到数据库服务器,并打开日志文件。
•第二步:浏览日志文件,找到删除操作所在的时间范围,并记录相关信息,如表名、删除条件等。
•第三步:创建一个新的数据库,并创建与原数据库相同的表结构。
•第四步:使用查询语句从日志中恢复被删除的数据,并将其插入到新的数据库表中。
•第五步:验证新数据库的数据是否正确恢复。
请注意,这种方法的成功与否取决于数据库日志是否完整且可靠。
5. 专业数据恢复工具如果上述方法无法恢复数据,或者你没有足够的技术知识来操作数据库备份和日志,那么你可以尝试使用专业的数据恢复工具。
恢复linuxext4分区上误删除的文件。

恢复linuxext4分区上误删除的⽂件。
我是使⽤ Xmanager Enterprise 4 来连接CentOS Linux 6.4 的。
可恶的XManager有⼀个恶⼼的bug,时不时的出现焦点问题:2012年10⽉15⽇星期⼀,14:44:01==============================================温馨提⽰: Xmanager有个⽑病就是时不时的出现窗⼝之间焦点的切换必须点击菜单栏上⾯的 title 才可以,⽽且不能⽤alt拖动窗⼝了.有时⼜可以..解决⽅法:打开后,按住 win+D 再win+D焦点的切换就会发⽣变化了...可以点击内容切换⽽且,也可以使⽤alt 移动窗⼝了....2013年5⽉25⽇今天,14:09:40==============================================键盘上按p键也会失效。
需要win+D 多次才会解决这个问题不知道有⼈遇到过这个问题没,使⽤ XMing 来连接xdmcp 倒是没问题,⽽且xmanager⽆法hook快捷键,⽤起来快捷键使⽤起来不⽅便,这个就不说了,但是上⾯的我确认是⼀个 BUG。
很恶⼼。
这次我要删除⼀个桌⾯的⽂件,点击后,shift+del 回车,快速删除,⼀看⽂件,没删除,难道。
看看另⼀个nautilus 窗⼝,正在浏览⾃⼰的ftp服务,缺少了⼀个⽂件夹,我勒个去啊。
如果是ntfs分区,windows下的,我可以diskgenius + winhex 速度恢复⽂件。
但是ext4分区下,我真没⼲过这种事情啊。
搜索⼀下,/Qunero/blog/8607今天⼀时⼿快 rm -rf .* ,删除了⼀个重要邮件⽬录,幸好通过extundelete恢复了。
记下操作流程:1.准备⼯作主要通过 extundelete 0.2.0完成恢复https:///projects/extundelete/files/latest/download需要依赖两个包sudo aptitude install e2fsprogs e2fslibs-dev下载页⾯/快速下载: download extundelete编译三部曲./configuremakesudo make install2.如果分区已经挂载,先umount,并且在将要恢复的地⽅查看空间⼤⼩df -h ./如果你要恢复的是根⽬录或者系统⽬录就只有拿硬盘挂到另外⼀台电脑上操作了。
电脑文件被删除如何恢复?教你两招轻松恢复

现如今,电脑在目前生活中使用的频率也都是相对比较广泛的,不该是办公,还是学习,娱乐,似乎都离不开电脑。
当我们在使用电脑时,往往也都会在电脑上存存储一些重要的文件,上班会存放各种数据统计文件,比如Word、Excel等。
如果是学生的话,存储视频,课件等文件较多。
但不该存储哪种类型的数据文件,当我们在日常使用时,往往也都会不小心误删除其中相关数据文件,导致数据出现丢失的现象,这也是我们很多人较长会遇到的,不管是误删除,还是误清空格式化,都会遇到数据丢失的现象。
那么如何去解决呢?下面【嗨格式数据恢复大师】就为大家介绍下,电脑文件删除的两种小技巧:方法一:回收站还原法回收站还原法是目前使用较多,也都比较常见的一种方法,但在使用过程中会受到文件删除的影响,因为回收站只能还原普通删除的文件,比如右击删除,Delete删除等,对于误清空文件来说,也都是无法还原的。
具体操作方法如下:打开回收站,选择我们所需要恢复的文件,右击选中,点击“恢复”即可在丢失文件存储位置中找回丢失文件。
方法二:数据恢复软件1、下载安装“嗨格式数据恢复大师”,运行软件并双击打开,选择主界面中的“快速扫描恢复”模式对磁盘进行扫描。
2、选择“原数据文件所存储的位置”对于丢失的数据文件来说,可直接选择我们所误删文件的位置,如果是桌面删除的话,可直接选择对应的“桌面”,并按照软件的提示,现在下方“开始扫描”即可自动对数据丢失的磁盘进行扫描。
3、当扫描结束后,可按照文件类型,或者文件路径两种形式,依次选择我们所需要恢复的文件,并选中需要恢复的文件,点击下方“恢复”即可找回丢失文件。
以上就是关于“电脑文件删除恢复的两种技巧”,希望大家在操作时能够按照以上步骤进行操作,这样的话也就能快速找回丢失的文件。
如果在数据恢复过程中遇到其它问题的话,也可以随时和我们联系!。
Hosts文件被误删除如何恢复

Hosts文件被误删除如何恢复
在很多的网络的教程操作上,都会提到一个叫Hosts文件的东西,通过修改它,我们可以改变一些电脑的设置。
但很多人都不知道这类文件是什么。
即使跟着教程修改后不小心给覆盖了,也不到如何找回。
今天我就给大家讲解一下,Hosts文件丢失或者被覆盖后一个简单地恢复方法。
方法/步骤
1. 1
Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时
2. 2
系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。
3.3
它对于用户来说是可以编辑的,它最重要而且最实用的地方就是我们可以通过对hosts文件的编辑让某些网址或者ip得到优先打开权,所以对于系统来说,hosts文件的重要程度还是蛮高的。
4.4
一旦数据损坏了应该怎么办呢,这时候就需要数据恢复软件来帮忙了,首先下载数据恢复软件,之后按照操作步骤来一步步完成恢复就可以了。
文件过期或已被清理如何恢复-两个简单的方法教大家
文件过期或已被清理如何恢复-两个简单的方法教大家使用电脑的过程中总会有把什么东西给删除了的情况发生,其中文件过期或者文件被清理的情况虽然相对而言比较的难遇上,但是总归还是有不少的小伙伴会遇到这种情况的,想要打开某文件的时候发现这个文件已经过期或者已经被清理掉了,这个时候如果你想要想办法把这些文件给找回来的话很多的小伙伴只会一脸懵逼,小编今天给大家带来了两种特别好用并且特别给力的恢复那些已经过期了的、被清理掉了的文件的方法,你只需要根据自己的实际情况挑选一种方法来使用就可以了。
第一种方法:风云恢复大师软件如果你有什么文件丢失、过期或者是被清理了的话自然就可以选择使用风云恢复大师去进行文件恢复,只要你想要找回的文件是通过这次的途径被删除就可以通过风云恢复大师来把它给找回来。
风云恢复大师的具体使用方法如下:首先在你的电脑里面下载并且把风云恢复大师安装在你的电脑里面,其次打开风云恢复大师后选择那个或者那些出问题的文件所处的分区,然后风云恢复大师就会开始进行彻彻底底完完全全的扫描了,你可以在扫描出所有的文件以后将对应的文件给选中,之后自然就可以将这些文件给恢复回来了。
第二种方法:数据恢复精灵通过数据恢复精灵这款软件自然也可以做到非常简单的数据恢复操作,数据恢复精灵就跟它的名字一样拥有非常强大的数据恢复功能。
当用户在使用数据恢复精灵的时候只需要直接的打开数据恢复精灵并且在数据恢复精灵里面选择你要使用的恢复被删除文件的功能就可以开始进行彻底的扫描了,在扫描出对应的结果之后用户就可以从这个结果里面找出那些你想要恢复回来的文件,这样就可以帮助你将那些你弄丢的文件恢复过来了。
以上这两种方法是小编精心为大家带来的,相信大家一定可以通过以上这两个方法来快速恢复文件过期或已被清理的文件了,步骤流程少,操作简单,非常的好用,帮助大家快速解决这个问题哦。
MySQL数据误删与误修改的恢复方法与建议
MySQL数据误删与误修改的恢复方法与建议随着互联网的快速发展,数据的重要性也日益凸显。
无论是个人用户还是企事业单位,都离不开数据的支持和管理。
然而,在使用MySQL数据库时,不可避免地会出现数据误删和误修改的情况,这给用户带来了很大的困扰。
本文将介绍MySQL数据误删与误修改的恢复方法与建议,希望对广大用户有所帮助。
一、误删数据的恢复方法1. 使用备份恢复在数据库系统中,定期进行数据备份是非常重要的。
当数据发生误删时,可以通过备份文件进行恢复。
首先,找到最近一次备份的文件,然后将备份文件导入数据库中。
如果备份文件较旧,可能会丢失一些最新数据,但总比全部丢失要好。
2. 使用二进制日志恢复MySQL提供了二进制日志(binlog)功能,可以记录数据库操作的详细信息。
当数据误删时,可以通过查找相关的binlog文件,找到误删操作的语句,然后通过执行相反的恢复操作语句来还原数据。
这种方法可以最大程度地保留数据的完整性。
3. 使用第三方工具恢复除了备份和二进制日志,还有一些第三方工具可以用来恢复误删的数据。
这些工具可以遍历数据库的日志文件,将被删除的数据进行提取和还原。
不过,使用第三方工具恢复数据需要谨慎操作,防止造成更大的损失。
二、误修改数据的恢复方法1. 使用事务回滚在MySQL中,可以使用事务来管理数据库的修改操作。
如果发生了误修改,可以使用回滚操作来恢复数据到修改之前的状态。
在事务开始之前,先使用“start transaction”命令开启一个事务,然后在误修改操作之后,使用“rollback”命令进行回滚即可。
2. 使用数据库历史表有些数据库管理系统支持历史表(history table)的功能,可以用于记录所有数据的变更历史。
当发现数据被误修改后,可以通过查找历史表,找到对应的修改记录,然后对数据进行还原。
使用历史表需要提前进行配置,非常适合对数据进行频繁修改的情况。
三、数据误删与误修改的预防建议1. 定期备份定期备份数据是保护数据的基本举措,特别是对于重要数据。
电脑自动删除文件原因和文件恢复方法(附教程)
电脑自动删除文件原因和文件恢复方法(附教程)
电脑自动删除文件可能是由于以下几个原因引起的:
1.垃圾清理工具:一些垃圾清理工具可能会将您电脑上的一些文件误
认为是垃圾文件进行删除。
2.病毒或恶意软件:存在一些病毒或恶意软件会自动删除或加密您的
文件。
3.操作错误:例如误删除或格式化硬盘等。
4.硬件问题:硬盘出现问题或者其他硬件问题。
若您的文件被电脑自动删除,可以尝试以下方法进行恢复:
1.回收站:如果文件被误删,可以查看回收站,看是否有未清空的文件。
2.备份文件:从备份中找到被删除的文件进行恢复。
3.使用文件恢复软件:可以通过一些文件恢复软件,如Recuva、EaseUS Data Recovery Wizard等进行恢复。
操作方法如下:
步骤二:运行软件并进行文件扫描,等待扫描结束。
步骤三:选择需要恢复的文件并进行恢复。
需要注意的是,恢复过程中不要将新的文件覆盖到已被删除的文件上,以免文件被覆盖导致彻底无法恢复。
总之,防止文件被自动删除的最好方法是在使用软件时要小心,同时
定期备份文件以防不测。
freeundelete数据恢复使用方法
freeundelete数据恢复使用方法FreeUndelete是一款数据恢复软件,它可以帮助用户恢复误删除或丢失的文件。
该软件适用于Windows操作系统,支持恢复各种类型的文件,包括文档、图片、音频、视频等。
在本文中,我将介绍如何使用FreeUndelete进行数据恢复,并提供一些使用技巧和注意事项。
第一步,下载和安装FreeUndelete软件。
可以在官方网站或可信赖的软件下载网站上找到FreeUndelete的安装程序,并按照提示进行安装。
安装完成后,打开软件并开始数据恢复。
第二步,选择要恢复的驱动器。
在FreeUndelete的主界面上,会显示计算机上的所有驱动器。
选择包含误删除或丢失文件的驱动器,并点击“扫描”按钮。
软件会开始扫描选定的驱动器,查找可以恢复的文件。
第三步,等待扫描完成。
扫描过程可能需要一些时间,具体时间取决于驱动器的大小和文件数量。
在扫描过程中,可以观察到软件正在查找和分析已删除的文件。
可以根据需要暂停或取消扫描。
第四步,选择要恢复的文件。
扫描完成后,软件将显示所有可恢复的文件列表。
可以使用文件过滤器来缩小搜索范围,例如按文件类型、文件大小或文件名进行筛选。
浏览文件列表,找到要恢复的文件,并选中它们。
第五步,设置恢复目录。
在恢复选项中,可以选择将恢复的文件保存到原始位置或选择其他目录。
建议将恢复的文件保存到不同的驱动器或外部存储设备中,以避免覆盖原始数据。
选择恢复目录后,点击“恢复”按钮,软件将开始恢复选定的文件。
第六步,等待恢复完成。
恢复过程可能需要一些时间,具体时间取决于文件的大小和数量。
在恢复过程中,可以观察到软件正在将已删除的文件从驱动器中恢复出来。
请耐心等待,不要中途中断恢复过程。
第七步,检查恢复的文件。
恢复完成后,可以打开恢复目录,检查恢复的文件是否完整和可用。
建议在恢复后立即备份文件,以防止数据丢失。
使用FreeUndelete进行数据恢复时,还有一些技巧和注意事项需要注意:1. 尽早进行数据恢复。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一次心惊肉跳的服务器误删文件的恢复过程
2014-05-22 13:28 zhouyu 博客园 字号:T | T 经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据。对本次事故过程和解决办法记录在此,警醒自己,也提示别人莫犯此错。也希望遇到问题的朋友能找到一丝灵感解决问题。
AD: WOT2014课程推荐:实战MSA:用开源软件搭建微服务系统 51CTO主办WOT全球软件技术峰会直减百元优惠活动 抢票进行中! 经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据。对本次事故过程和解决办法记录在此,警醒自己,也提示别人莫犯此错。也希望遇到问题的朋友能找到一丝灵感解决问题。
事故背景 安排一个妹子在一台生产服务器上安装Oracle,妹子边研究边安装,感觉装的不对,准备卸载重新安装。从网上找到卸载方法,其中要执行一行命令删除Oracle的安装目录,命令如下:
1. rm -rf $ORACLE_BASE/*
如果ORACLE_BASE这个变量没有赋值,那命令就变成了: 1. rm -rf /* ==||,妹子使用的可是root账户啊。就这样,把整个盘的文件全部删除了,包括应用Tomcat、MySQL数据库 and so on。。。。 (mysql数据库不是在运行吗?linux能删除正在执行的文件?反正是彻底删除了,最后还剩一个tomcat的log文件,估计是文件过大,一时没有删除成功) 看着妹子自责的眼神,又是因为这事是我安排她做的,也没有跟她讲清厉害关系,没有任何培训,责任只能一个人背了,况且怎么能让美女背负这个责任呢? 打电话到机房,将盘挂到另一台服务器上,ssh上去查看文件全部被清,这台服务器运行的可是一个客户的生产系统啊,已经运行大半年了,得尽快恢复啊。于是找来脱机备份的数据库,发现备份文件只有1kb,里面只有几行熟悉的mysqldump注释(难道是crontab执行的备份脚本有问题),最接尽的备份也是2013年12月份的了,真是屋漏偏逢连夜雨啊。
想起来一位领导说过的案例:当一个生产系统挂掉以后,发现所有备份都有问题,刻录的光盘也有划痕,磁带机也坏了(一个业界前辈,估计以前还用光盘做备份了),没想到今天真的应验到我的身上了,怎么办?
部门领导知道情况后,已经做了最坏的B计划:领导亲自带队和产品AA周日赶到客户所在的地市,星期一去领导层沟通;BB和CC去客户管理员那边想办法说服客户。。。 救命稻草--ext3grep 赶快到网上去查资料进行误删数据恢复,还真找到一款ext3grep能够恢复通过rm -rf删除的文件,我们磁盘也是ext3格式,且网上有不少的成功案例。于是燃起了一丝希望,赶快对盘umount,防止重新写入补删文件扇区。下载ext3grep,安装(编译安装过程艰辛暂且不表)。 先执行扫描文件名命令: 1. ext3grep /dev/vgdata/LogVol00 --dump-names 打印出了所有被删除文件及路径,心中狂喜,不用执行B计划了,文件都在呢。 这款软件不能按目录恢复文件,只能执行恢复全部命令: 1. ext3grep /dev/vgdata/LogVol00 --restore-all 结果当前盘空间不足,没办法只能恢复文件,尝试了几个文件,居然部分成功部分失败: 1. ext3grep /dev/vgdata/LogVol00 --restore-file var/lib/mysql/aqsh/tb_b_attench.MYD 心里不禁一凉,难道是删除磁盘上被写过文件了?恢复机率不大了啊,能恢复几个算几个吧,说不定重要数据文件刚好在能恢复的MYD文件中。于是先将所有文件名重定向到一个文件文件中: 1. ext3grep /dev/vgdata/LogVol00 --dump-names >/usr/allnames.txt 过滤出来所有mysql数据库的文件名存成,mysqltbname.txt 编写脚本恢复文件: 1. while read LINE 2. do 3. echo "begin to restore file " $LINE 4. ext3grep /dev/vgdata/LogVol00 --restore-file $LINE 5. if [ $? != 0 ] 6. then 7. echo "restore failed, exit" 8. # exit 1 9. fi 10. done < ./mysqltbname.txt
执行,大概运行了20分钟,恢复了40多个文件,但不够啊,我们将近100张表,每张表frm,myd,myi三个文件,怎么说也有300多个左右啊!!将找回来的文件附到现有数据库上,更要文件权限为777后,重启mysql,也算是找回一部分数据了,但客户重要的考勤签到数据、手机端上报数据(据说客户按这些数据做员工绩效的)还没找回来啊。
咋 办?中间又试了另一款工具extundelete,跟ext3grep语法基本一致,原理应该也一样了,但是据说能按目录恢复,好吧试一试。 1. extundelete /dev/vgdata/LogVol00 --restore-directory var/lib/mysql/aqsh 果然不出所料,恢复不出来!!!!!!!!那些文件已被破坏了。跟领导汇报,执行B计划吧。。。无奈之下下班回家(周末了,回去休息一下,想想办法吧) 灵机一动:binlog 第二天早晨一早就醒了(心里有事啊),背上电脑,去公司(这个周末算是报销了,不挨批,通报,罚款,开除就不错了,还过什么周末啊)。 依旧运行ext3grep,extundelete,也就那几招啊,把系统架到测试服务器上,看看数据能不能想办法补一补吧。在测试服务器上进行mysqldump,恢复文件,覆盖恢复回来的文件,给文件加权限,重启mysql。
wait,wait,不是有binlog吗?我们服务都要求开启binlog,说不定能通过binlog里恢复数据呢? 于是从dump出来的文件名里找到binlog的文件,一共三个,mysql-binlog0001,mysql-bin.000009,mysql-bin.000010,恢复一下0001。 1. ext3grep /dev/vgdata/LogVol00 --restore-file var/lib/mysql/mysql-bin.000001 居然失败了…… 再看另两个文件,mysql-bin.000010大概几百MB,应该靠谱一点,执行还原命令,居然成功了!!!!!!!!!!!!! 赶快scp到测试服务器。执行binlog还原。 1. mysqlbinlog /usr/mysql-bin.000010 | mysql -uroot -p 输入密码,卡住了(好现象),经过漫长的等待,终于结束了。打开应用,哦,感谢cctv,mtv,数据回来了!!!!!!!!!!!!!!! 后记 经过此次事故,虽然数据很幸运能找回来了,但是过程却是惊心动迫。也为自己的错误所带来的后果,给同事和领导带来的连带责任而后怕。也希望谨记此次事故,以后不再犯同样的错误。事故反思如下:
1.本次安排MM进行服务器维护时没有提前对她进行说明厉害情况,自己也未重视,管理混乱,流程混乱。一个在线的生产系统,任何一个改动一定要先谋而后动。 2.自动备份出现问题,没有任何人检查。脱机备份人员每次从服务器上下载1k的文件却从未重视。需要明确大家在工作岗位上的责任。 3.事故发生后,没有及时发现,造成部分数据写入磁盘,造成不可恢复问题。需要编写应用监控程序,服务一旦有异常,短信告警相关责任人。 根据评论提醒,再加一条: 4.不能使用root用户来操作。应该在服务器上开设不同权限级别的用户。 通过本次事故,几位跟这个项目和事故没有任何关系的同事,主动前来帮忙,查资料,帮测试,有一位同事还帮忙到晚上1点多钟进行数据恢复测试。同时产品经理在想到面向客户的巨大压力的情况下,没有慌乱而责怪开发人员和具体操作人,而让大家能静下心来想解决方案。部门领导也积极主动的帮忙想办法,陪我们加班测试,实时跟踪事情进程。
通过大家的共同努力,终于事情相对圆满结束,接下来,周一上午进行集体反思,总结经验教训,这类事故一定尽量大努力进行避免。 /**************************************传送门************************************************/
本文所用到的工具链接: 1.ext3grep:https://code.google.com/p/ext3grep/ 编译安装依赖包比较多,可以到网上搜索如何安装。可惜的是作者给出的howto被墙了,我翻墙将how to 的pdf文档下载下来了,读完后你将会对linux的文件系统有进一步的认识。下载howto。
这个工具有一个bug,出错后不会向下执行ext3grep: init_directories.cc:534: void init_directories(): Assertion `lost_plus_found_directory_iter != all_directories.end()' failed.,从而造成恢复失败,作者放出了一个补丁,下载地址:补丁下载。不明白为什么作者新版没有把这个补丁加进去。
2.extundelete:http://extundelete.sourceforge.net/ 功能跟ext3grep差不多,原理应该也差不多。只是号称可以还原目录,我这里没有试验成功。 【编辑推荐】 1. Windows服务器安全部署的五大策略 2. Linux服务器的初步配置流程 3. 高性能缓存服务器Squid架构配置 4. 基于Linux服务器的性能分析与优化 5. Zabbix企业应用之服务器硬件信息监控