中企动力 > 商学院 > db数据恢复
  • ?

    揭秘硬盘数据恢复全过程!原来只需这三步!

    美人泪

    展开

    恢复硬盘数据其实并不是一项复杂的工程,除非是硬盘磁头损坏,需要开盘这类原因,一般情况下想要恢复硬盘数据也十分简单,那要如何做呢?

    第一步,打开迷你兔数据恢复工具,选择【硬盘恢复】功能并点击进入

    第二步,进入功能页面后,选择需要恢复的硬盘分区,进行完全扫描

    第三步,完全扫描结束后,在软件扫描到的丢失数据列表里手动勾选需要恢复的数据,然后保存在安全的分区之中,硬盘数据就恢复出来了。

  • ?

    数据恢复原理讲解

    Kersen

    展开

      

      要说数据恢复,就得先看下数据丢失的方式,主要分两种,一种是存储介质损坏导致的数据丢失,另一种就是数据从存储介质上删除。如果你遇上了第一种情况,比如说硬盘丢了、碎了,硬盘上有坏掉的扇区这种物理性的损坏,那么你基本上可以和这些数据告别了;但是,如果你只是不小心将文件从回收站里清除了,或者手贱格式化硬盘了,这些是逻辑上的删除,那么还是有可能恢复回来的。

      那么,这些可以恢复数据的情况,是怎么一回事呢?大部分文件系统是这样设计的,一部分是索引区,另一部分是数据区。当我们新加一个文件时,先往索引区里添加一条文件索引信息,然后往数据区里写入文件的完整内容。当删除一个文件时,一般只会将它的信息从索引区里删除,而数据区里的内容却不做删除,只是标记为无人使用,如果有新的文件写入系统,那么这些被标记无人使用的区域很有可能被新文件覆盖掉。

      所以,当我们手贱误删了一些文件后,想要恢复它们是有可能的,就是需要保证没有其它的数据进来,将误删的文件数据覆盖掉。所以,如果发现误删文件,那么从那一刻起就要时刻注意不要写入新的文件,否则,你数据被覆盖后,找谁都帮不了你的忙。数据恢复的软件,比较常用的就是EasyRecovery,如果有需要,请自行搜索。

      不过,像朴槿惠同学这种,想不顾一切毁灭资料的,那么可以采取简单粗暴的方式,就是给硬盘转上几个洞,或者使其被碾压多次,直到物理损坏。其次,就是非暴力方式,在删除敏感资料后,可以增加一些大文件,让它们把不想留着的文件空间都覆盖刷新一次,这样数据区内的文件也没有残留了。

      所以,留还是不留数据呢,凭你自己的需求和知识评估了。

      2017年1月13日线上产品经理说明会将带你入门了解产品经理的工作职责与发展前途,成为年薪50W起的优秀产品经理,你·还差一场入门说明会。链接地址:http://form.mikecrm/riZQwJ

  • ?

    从删库到跑路or恢复,记一次MySQL数据库文件损坏恢复经历

    無所謂

    展开

    一、 前言

    2018年5月28日,北京晴有轻度沙尘暴。 坐上公交车走在上班的路上,想起老罗经常说起的一句话:想成盛田昭夫时代的索尼,想成乔布斯时代的苹果,于是继续研读着 《日本制造:盛田昭夫的日式经营学》。

    到了人大西门在西区食堂吃了个早餐,穿过人民大学很快就来到了公司。坐在工位上打开电脑登上QQ,不一会运营的CC的头像就开始闪动,“mooc平台登录不了”,“你看看”。又一会领导的头像开始闪动,“xxx说慕课平台不能登录了”。 额… 这事都惊动领导了?

    二、 排查问题

    打开chrome浏览器开始预览,等了好久代理服务器才反馈

    Time out!

    使用 SecureCRT 连接了一下服务器,首先重新启动了一下Nginx代理服务器

    service nignx stop // 关闭Nginx服务 service nginx start // 开启Nginx服务

    去前台刷新了几下没有恢复。 那就在重启一下php吧,于是就

    service php-fpm stop // 关闭PHP服务 service php-fpm start // 开启PHP服务

    又去前台试了试还是没有恢复。(有人会问为什么不直接用 service xxx restart 来重启各服务呢? 我也不知道为什么,个人爱好吧!)那只有一种可能数据库出问题了。

    打开 Navicat 连接了一下数据库,发现可以正常连接而且可以看到所有的表,随便打开了一张表能看到里面的数据,但是弹出了一个错误的提示。

    Got error 28 from storage engine

    大概是这个错误提示,当时也没在意,心想反正提示错误了那就重启一下物理服务器吧,这里是物理服务器!!!随后执行了这个命令(为什么不直接重启MySQL服务呢? 事后想了想我也不知道为什么。 而且如果当时注意看看这个错误,是因为磁盘空间问题引起的,也许后面就不会有那么多惊心动魄了!)

    reboot // 重启物理服务器

    执行完以后所有的服务都正常关闭了,只有Mysql数据库服务

    Shutdown MySQL ……………………………………………….

    引号已经5排了,实在是等不下去了。 断电!!!(MySQL没有安全关闭,直接断电会出问题的!!!)。

    三、 恢复进程

    等了一会,物理服务器启动起来了。一切的应用服务都正常启动了,只看到在启动MySQL数据库的时候出现了

    The server quit without updating pid file (/var/lib/mysql/localhost.localdomain.pid)

    等到全部服务加载完成以后手动又进行了一次MySQL数据库启动

    service mysql start

    依然报前面那样的错误,此时心里开始紧张了起来。 Google了一下这个错误,网上提供了几种解决的方案:

    1、 Mysql权限问题

    chown -R mysql:mysql /var/lib/mysql/* chmod -R 660 /var/lib/mysql/*

    2、 Mysql 服务已开启

    ps -ef|grep mysqld // 查看是否有mysqld进程 kill -9 进程号 // 强制杀死进程

    3、 残余数据影响了Mysql服务的启动

    删除数据库目录(我的数据库目录为rpm安装默认目录:/var/lib/mysql)下的 mysql-bin.index 文件

    4、 Mysql配置文件(默认为:/etc/myf)

    配置文件里面没有配置数据库目录,这个问题一般在刚安装MySQL时候会出现

    5、 skip-federated字段问题

    MySQL配置文件注释掉skip-federated字段

    6、 selinux的问题

    centos6.8以上默认会开启selinux服务,加强版军用级防火墙。为了查问题可以直接关掉 /usr/sbin/setenforce 0

    以上解决方案全部都已经使用过了,都没有解决问题,依然开启服务会报错。 此时的心开始凉了。

    回头看了看往期的备份,xxxx_20171208.sql。 都快2018年6月份了,我的上次备份竟然是17年12月份的,半年了!都半年没备份过了! (我视乎隐约的感觉前段时间是有备份的,备份的服务器硬盘好像被我清理了)。

    进入到数据库目录下,看到了除了上述说的 mysql-bin.index 文件以外还有其他的几个文件:mysql-bin.~rec~ 、 ib_logfile1、 ib_logfile0、 ibdata1 想了想是不是这几个也是一些残余文件,全部删了试试。 尝试把这几个文件转移到了其他的目录(使用的mv命令)模拟删除效果,同时还相当于备份。

    service mysql start

    竟然MySQL数据库服务正常启动了! 心里的喜悦涌了上来,赶紧使用Navicat连接一下看看,能够正常连接,看到了数据库。 打开数据库以后所有的表都没有了! 此时心又酸了起来。 一转眼11:30了,时间过的可真快啊,同事叫着一起吃饭,此时的我已经全无吃饭的心情了。

    恢复表结构

    把刚才移走的几个文件又恢复到了原目录里,既然恢复MySQL进程现在没什么希望了,那就想办法恢复数据吧。 进入到数据库目录(/var/lib/mysql)下找到了我的数据库名字以目录的形式存放。 进去该目录以后发现里面都是以扩展名为:xxxx表.frm文件,这些不都是我的数据库表吗? 里面是不是就存放了所有的数据? 是不是直接拿这些文件就可以恢复数据呢?Google了一下,果然有这方面的文章,大致说: “frm可以恢复表结构,同时InnoDB数据库引擎和MyISAM数据库引擎恢复的方式不一样”。

    1、 InnoDB数据库引擎

    在一个正常的MySQL数据库服务器(new_server)下建立数据库(new_db),该数据库的名称和异常服务器(old_server)数据库(old_db)保持一致。在new_db数据库中建立一张表与old_db的表名称(t_user)一致。将new_server服务器的MySQL数据库服务关闭。从old_server服务器下old_db的数据库目录下复制t_user.frm文件到new_server服务器下new_db的数据库目录下替换t_user.frm文件。开启new_server服务器的MySQL数据库服务。使用连接工具连接new_server就可以看到new_db下的表及表结构。

    2、 MyISAM数据库引擎

    其他和InnoDB数据库引擎操作基本一致,只是在new_server服务器下new_db的数据库目录下创建两个空的文件:t_user.MYD 和 t_user.MYI。

    我使用的数据库为InnoDB引擎,无奈的我以上两种方法都使用了,没有恢复任何表结构更没有数据,也许可能是我操作有问题吧。 此时看到了目录下有一个文件: ibdata1 Google了一下,可以和xxx.frm配合使用,又一次将new_server服务器的MySQL数据库服务关闭。 直接把old_server服务器下old_db的数据库目录下复制ibdata1文件到new_server服务器下new_db的数据库目录下替换ibdata1文件。

    service mysql start

    新的服务器也出现了这样的错误,导致错误的很大原因可能是ibdata1文件损坏引起的。

    今天北京的天气已经达到了35摄氏度,但此时我的心已经凉了一半了,虽然没有按时备份数据及服务器异常崩溃造成数据丢失比直接删库的责任小了点,但是也办法向公司交代,真的需要开始准备 “离职申请” 了吗?

    binlog日志

    打开微信

    我:你们公司用的是什么数据库,是MySQL吗 好友LZ:是的 我:公司的MySQL坏了,启动不了了; 数据没有备份; 有什么好办法把数据拿回来吗 好友LZ:你们之前数据的binlog还有吗;通过这个应该可以恢复 我:都有 好友LZ:我也没弄过数据恢复,都是DBA搞,感觉应该可以的;你先查查看网上有没有解决方案,我这会在上线。 我:嗯

    本来想说:“你能不能问问好友LZ你们DBA遇到过这种情况吗,帮忙给个方案”;最后还是没有好意思开出口。 不过binlog这个名字让我突然想起了数据库目录(/var/lib/mysql)下面几个较大的文件。

    这十几个文件就是binlog日志文件,每台服务器上面的个数应该不一样,这个文件只有每次重启MySQL服务或者刷新日志(MySQL命令:show master logs)的时候才会新增一个。看了一下我最近的几个文件,2018年1月16、 2018年3月18、 2018年4月18、 2018年5月28这几个时间点产生了新的文件,说明MySQL服务器这几个日期都进行过关闭又开启的操作。

    binlog使用:

    binlog文件简介(网上摘抄) MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。 binlog作用(网上摘抄) MySQL Replication在Master端开启binlog,Mster把它的二进制日志传递给slaves来达到master-slave数据一致的目的。 数据恢复,通过使用mysqlbinlog工具来使恢复数据。

    使用binlog恢复数据之前需要确定MySQL是否开启binlog日志

    show variables like 'log_%';

    状态 OFF 为未开启,状态 ON 表示已开启

    可以通过MySQL配置文件(默认路径:/etc/myf)开启或关闭binlog日志

    vi /etc/myf

    使用加上#可以关闭,去掉开启。 修改后需要重启MySQL服务(service mysql restart)才可以生效。

    恢复数据(binlog日志方式)

    初试mysqlbinlog工具

    看到上面的那么多mysql-bin文件,很显然使用centos6.5下rpm方式安装的MySQL默认是打开binlog日志的。 这时我们就需要用到MySQL的 mysqlbinlog 工具,想使用它首先需要确保已经安装MySQL服务,然后我们需要找到它的位置

    find / -name mysql

    2 表示为MySQL可执行文件的目录 3 表示为MySQL的数据库目录

    那我们先简单的使用一下

    cd /var/lib/mysql mysqlbinlog mysql-bin.000001 >mysql-bin.000001.sql

    很显然我在使用mysqlbinlog的时候是,直接执行的mysqlbinlog命令,前面并没有增加任何路径。 因为默认centos系统会将/usr/bin这个目录配置到环境标量中,若我们使用的是rpm方式安装的MySQL,默认是安装到/usr/bin目录下的。 可以直接在任何路径下使用/usr/bin目录里的文件。 执行完上面的语句后会发现在当前目录生成一个mysql-bin.000001.sql的文件, 打开文件可以看到很多sql语句。

    对于我当前的情况来看并不需要把所有的binlog都处理一遍,上面提到我上次的备份是在2017年12月8日的时候(xxxx_20171208.sql)因此我只需要从 mysql-bin.000009 这个binlog文件开始就可以了。

    首先我在另外一台服务器上面重新搭建了一个MySQL服务,把mysql-bin.000009以后的几个binlog都拷贝到了这台新的服务器上面去。(服务器出现任何问题,建议不要对该服务器做任何操作,换一台新的电脑或服务来处理,为了保护数据的完整性!)

    使用备份文件恢复数据

    在新的MySQL上面建了一个和以前一样名称的数据库

    mysql -u数据库用户名 -p数据库密码 数据库名称 --default-character-set=utf8 < xxxx_20171208.sql 例:mysql -uroot -proot xxxx --default-character-set=utf8 < xxxx_20171208.sql

    使用binlog恢复数据

    这时数据库有了,数据表及表结构也有了,那就开始恢复数据吧。

    mysqlbinlog mysql-bin.000009 | mysql -uroot -proot

    回车马上就出错了,遇到了两种错误,一种是PRIMARY的错误,一种是找不到记录的错误。 mysqlbinlog在执行mysql-bin.000009文件里的插入语句时出错了。 看了一下mysql-bin.000009文件的创建时间是2017年11月12日,我的备份文件是2017年12月8日,他们两个时间差了二十几天,执行上面恢复语句肯定会出现重复插入的问题,数据库里的某些表是由PRIMARY KEY的约束的,所以会导致PRIMARY错误。 这时我们需要用到mysqlbinlog的参数: start-datetime 和 end-datetime,顾名思义一个是开始时间一个是结束时间。

    mysqlbinlog --start-datetime="2017-12-08 10:00:00" mysql-bin.000009 | mysql -uroot -proot

    看了一下我备份的xxxx_20171208.sql大致是2017年12月8日的10左右,没有添加 end-datetime 参数的话默认为该binglog文件下的最后一个时间点。 执行了以后报了一个找不到记录的异常。 应该是执行删除或更新语句的时候没有找到某条记录,时间还是不对。 于是我就查看了数据库的日志表,最后的时间是2017年12月8日9点32分41秒,有执行了一次

    mysqlbinlog --start-datetime="2017-12-08 09:32:41" mysql-bin.000009 | mysql -uroot -proot

    依然报错,那怎么办呢,难道这个方法不行?

    mysqlbinlog mysql-bin.000009 >mysql-bin.000009.sql

    此时打开mysql-bin.000009.sql里面拥有大量的sql语句,发现好多条sql语句在这个时间点下。 看来使用参数来控制行不通。 还好mysqlbinlog工具给我们提供了另外两个参数start-position 和 end-position

    修改了一下命令

    mysqlbinlog --start-position="123456" mysql-bin.000009 | mysql -uroot -proot

    果然一切都正常了,执行这个命令需要很久,它要把你这段时间所有的增加、删除、更新都执行一遍。 这里可能还会遇到一个问题,我的这个MySQL服务器里面这有一个数据库,MySQL的binlog文件记录的是所有数据库的增加、删除、更新记录,那怎样只针对某个数据库来操作呢? 这时我们需要用到mysqlbinlog的database参数

    mysqlbinlog --database=xxxx --start-position="123456" mysql-bin.000009 | mysql -uroot -proot

    半年的数据,就这么一个一个的binlog文件进行处理的,从晚上6点到夜里的12点完成所有文件的恢复,数据量不是很大,服务器的性能也不是太高,中间出了点问题,不过都是服务器中断的问题。 最后把所有的数据全部恢复了回来,这心惊肉跳的一天!

    这是工作7年来出的最大一次事故,去年给自己定的一个目标今年写12篇有质量的文章反馈给互联网,都快过半年了ä...

  • ?

    福利|15种数据恢复的方法,手滑党的救星

    艾达

    展开

    浦东网警

    以下情况发生在手滑误删了重要文件时

    (已经清空回收站或Shift+del删除文件)

    特别是你呕心沥血完成的各类报告、PPT

    这种懊恼加悔恨经历过的人终生难忘

    专业的数据恢复业务收费昂贵

    那么,手滑党真的没救了吗?

    别怕,其实有多种简单的数据恢复方法

    蜀黍给大家整理了15款免费数据恢复软件

    收藏备用,总有一款会拯救你于水火之中

    01

    Recuva

    描述:Recuva位列数据恢复软件第一名,可能不会让大多数人感到惊讶。

    现如今有很多免费的文件恢复软件,但是当涉及到硬盘和照片恢复时,它们中很少比得上Recuva。

    优点:

    高级文件恢复能够从硬盘驱动器、DVD或CD、存储卡和外部驱动器恢复文件返回丢失的目录结构以及在执行数据恢复时重命名两个同名文件高级深度扫描模式工业和军事标准删除技术的安全覆盖从损坏或新格式化的文件中恢复文件简化用户界面在最终恢复之前预览屏幕免费/廉价数据恢复软件在FAT和NTFS系统上都可以工作

    支持平台:Windows 10、8、8.1、7、Vista、XP和旧版本的Windows

    02

    TestDisk

    描述:TestDisk的功能和文件恢复系统可以轻松地超越任何其他数据恢复软件的功能,它为新手和专家提供了很多便利。

    优点:

    允许用户恢复/重建引导扇区是一个开源软件,目的是恢复丢失的分区并修复非引导磁盘除了能够可靠地从FAT、exFAT、NTFS和ext 2文件系统中删除文件之外,还可以修复或恢复已删除的分区表可以在所有主要平台上使用,如MicrosoftWindows、MacOSX等,事实上,它在各种LinuxLiveCD上都很受欢迎

    缺点:

    这个免费的数据恢复程序试图检测分区和文件条目本身,因此对已删除/损坏的分区进行更深入的扫描需要更多的时间。

    支持平台:Windows 10、8、8.1、7、Vista、XP以及Windows、Linux、BSD、MacOS和DOS的旧版本。

    03

    Stellar Data Recovery

    描述:Stellar Data Recovery以其名称为名,在从Windows PC和Mac中恢复数据方面发挥了出色的作用。如果你后悔你决定删除最近的文件,Stellar Data Recovery帮助你以有效的方式恢复。

    优点:

    无风险程序从不同类型的存储设备中恢复数据,如存储卡、智能手机、USB驱动器、硬盘等使用Stellar Data Recovery很简单。只要下载它,启动扫描,您就能够从过去的数据灾难中恢复过来充满了先进的功能和快速的驱动器文件恢复。适用于初学者和非技术用户在进行最后的恢复尝试之前,在应用程序中预览可用的文件;也称为“购买前尝试”功能

    支持平台:Windows 10、8、8.1、7、Vista、XP和MacOS。

    04

    Undelete 360

    描述:Undelete 360使用典型MicrosoftOffice应用程序的外观(由于带状样式工具栏和蓝色主题),是建立在一个快速而有效的算法之上,它使用户能够取消删除的文件。

    优点:

    工作在各种设备,如数码相机,存储卡,智能手机,计算机硬盘驱动器,USB等它包括一个数据擦除工具,一个十六进制查看器,以及在恢复之前预览文件的能力可以恢复各种类型的文件,如DOC、HTML、AVI、MP3、JPEG、JPG、PNG、GIF等缺点:

    扫描速度需要重大改进,而且该工具在恢复数据方面也落后于其竞争对手。

    支持平台:Windows 8,8.1,7,Vista,XP和旧版本的Windows。

    05

    PhotoRec

    描述:PhotoRec绝对是最好的数据恢复软件之一,PhotoRec它以其强大的文件恢复功能而广受好评,涉及从数码相机到硬盘等多种设备。

    它是专门从硬盘,光盘恢复数据,如图片,视频,文档等。

    优点:

    几乎兼容所有的主要平台,如微软Windows,Linux,MacOSX等可以恢复超过440种不同的文件格式支持很多文件系统,包括FAT、NTFS、exFAT、ext 2/ext 3/ext 4和HFS+

    支持平台:Windows 10、8、8.1、7、Vista、XP和Windows、Linux、BSD、DOS、MacOS的旧版本。

    06

    Pandora Recovery

    描述:Pandora Recovery是最可靠和最有效的免费数据恢复软件之一。Pandora Recovery恢复工可以提供给它的用户很多功能。

    优点:

    从ntfs和胖格式化卷中恢复已删除的文件预览某些类型的已删除文件(图像和文本文件)而不执行恢复通过表面扫描(允许您从格式化的驱动器中恢复数据)和恢复存档、隐藏、加密和压缩文件的能力,它带来了相当大的打击界面非常简洁,并提供一个类似浏览器的视图,以及颜色编码和恢复百分比指示器

    缺点:

    文件检测系统并不那么可靠,需要进一步改进。

    支持平台:Windows 8、8.1、7、Vista、XP和Windows的旧版本上。

    07

    Pandora Recovery

    描述:标准的取消删除程序(如Recuva、Pandora等)非常适合恢复一些已删除的文件,但如果丢失了整个分区怎么办?那么您可能需要一个专家应用程序,例如MiniTool Partition Recovery。

    优点:

    一个简单的基于向导的界面专门处理整个分区上的数据恢复当MiniTool Partition Recovery指向有问题的驱动器,它将扫描丢失的分区生成一个恢复报告,该报告将使您了解该程序在数据恢复方面发现了哪些内容。缺点:

    无法在可引导磁盘上使用数据恢复

    支持平台:Windows 10、8、8.1、7、Vista、XP和旧版本的Windows。

    08

    Wise Data Recovery

    描述:Wise Data Recovery是最好的数据恢复软件中最快取消删除工具之一。除了速度更快,它还带有一些不错的功能。

    优点:

    简单直观的界面从本地驱动器、USB驱动器、照相机、存储卡、可移动媒体设备等中恢复已删除的文件通过使用文件类型选择内置文件扩展名组来加快搜索筛选可以在恢复过程中快速执行文件扫描,但是深度扫描模式的可用性会更好有一个便携式数据恢复软件版本

    支持平台:Windows 10、8、8.1、7、Vista、XP和旧版本的Windows。

    09

    Puran file Recovery

    描述:Puran file Recovery工作在三个主要恢复模式。这些恢复模式是:

    默认的快速扫描(它只是读取FAT或NTFS文件系统中删除的文件从回收站等)深度扫描(包括扫描所有可用的空闲空间)全扫描(检查设备上的所有空间,以获得最佳恢复机会)

    优点:

    使用“查找丢失文件”选项将Puran文件恢复转换为从丢失或损坏的分区恢复所有文件的工具。编辑自定义扫描列表,它存储文件签名,以便更准确地恢复严重损坏的数据。

    支持平台:Windows 10、8、8.1、7、Vista、XP和旧版本的Windows。

    10

    PC Inspector File recovery

    描述:PC Inspector File recovery即使引导扇区已被擦除或损坏,FAT和NTFS驱动器也能很好地工作。

    优点:

    简单搜索对话框可以帮助定位文件的名称可以将恢复的文件还原到本地硬盘或网络驱动器可以不同格式恢复几种文件的图像和视频,如ARJ、AVI、BMP、DOC、DXF等可以使用群集扫描仪只扫描光盘的特定区域

    缺点:

    此软件的界面和标签有点混乱。(小心使用这个工具。)

    支持平台:Windows 10、8、8.1、7、Vista、XP和旧版本的Windows。

    11

    Restoration

    优点:

    非常简单易用没有令人迷惑的工具,也没有任何复杂的文件恢复过程还可以从硬盘、存储卡、USB驱动器和其他外部驱动器中恢复数据和文件不需要安装并且可以从USB驱动器运行数据恢复

    支持平台:WindowsVista,XP,2000,NT,ME,98和95,并且成功地测试了Windows 7和Windows 10。有时,Windows 8会遇到问题

    12

    DMDE

    描述:DMDE是最富功能的数据恢复软件之一。但是,各种选项的无休止列表实际上使恢复过程复杂化。

    优点:

    便携支持深度扫描可以保存日志以避免在后期重新扫描要从其中恢复数据的设备的详细信息不显示原始文件夹名,但显示原始文件名文件搜索选项可用多个过滤器可用复制扇区选项以创建磁盘映像文件构造RAID的工具

    13

    Glary Undelete

    描述:文件恢复软件为新手用户提供了一个干净而方便的界面。Glary Undelete没有多少视觉吸引力,但它可以是一个很好的解决方案,可以恢复您已删除的文件。

    优点:

    快速文件扫描与文件夹和文件类型视图选项多个筛选器选项包括日期、时间、文件类型、文件大小等预览选项可用多种语言选项支持各种Windows版本,包括Windows 10在扫描结果中显示恢复状态-好、差、覆盖等不显示原始文件夹名尝试从供应商安装配套软件

    14

    Disk Drill

    描述:说真的,如果你在寻找一个看起来也不错的数据恢复软件,那么Disk Drill就是你的选择。但是你必须通过下载一个15 MB的安装文件来支持视觉效果。

    优点:

    显示机器上的所有存储空间,甚至未分配的空间显示所有文件、图片、视频、文档、档案选项中的扫描数据允许按文件和日期过滤扫描文件包括搜索栏。可以保存恢复会话供以后使用可以磁盘映像(ISO)的形式恢复数据预览选项可用深度扫描模式可用保留原始文件夹名安装后需要重新启动扫描时间超过平均水平

    缺点:

    在免费版本中只能恢复500 MB的空间

    15

    SoftPerfect File Recovery

    描述:对于那些不想安装软件麻烦的用户来说,这个数据恢复软件是非常理想的。这是一个极小的解决方案,提供了极简的界面。

    优点:

    设置大小仅为0.5MB容易使用无法恢复损坏或覆盖的文件预览不可用有多种语言不显示要恢复的文件的状况

    缺点:

    不显示要恢复的文件的状况不允许在同一磁盘上恢复已恢复的文件。最好用闪存盘运行

    综合整理:漏洞银行

    浦东网警

    微博:浦东网警

    守护互联网安全

  • ?

    某单位5个数据库丢失的数据恢复过程

    Yves

    展开

    故障描述:

    5块2T硬盘组建RAID5,划分LUN供windows服务器使用。在windows服务器内装有Sql Server2008数据库。存储空间内共有三个逻辑分区,大小分别为500G、800G、2.3T。数据库文件丢失,主要涉及五个数据库,表个数约为6000个左右。丢失原因未知,且不能确定数据存储位置。三个数据库的大小分别为8G、15G、20G。在文件丢失后服务器仍处于开机状态,但并未写入大量数据。

    初检流程:

    1、使用RAID信息及内部数据块信息重组RAID。

    重组RAID

    2、提取LUN内三个分区镜像。

    3、扫描文件系统内丢失文件,未找到被删除数据库文件。

    4、初检结果为数据库文件丢失,通过文件系统角度无法恢复。

    恢复流程:

    1、制定恢复方案。在数据库文件被删除且判定为无法恢复文件后,只能通过扫描数据页,并提取页内记录的方式进行恢复。

    2、使用北亚自主编数据页扫描程序扫描分区内数据页并提取。在分别扫描两个分区镜像后发现500G系统盘内数据页数量极少且数据页断裂情况严重,另一分区内扫描到数据页个数较多。暂定此分区为数据库文件存储空间。

    扫描数据页

    3、重组系统表。Sql Server数据库使用系统表来管理所有用户表,在这些系统表内记录了各表的列数、数据类型及约束信息等。解析系统表过程中发现提取出的数据页内系统表损坏,无法正常读取信息。在与客户沟通后得知有备份文件,且备份完成后没有大量改动表结构,系统表可用。

    4、还原备份。

    还原备份

    5、分别提取三个库中各表表结构信息

    提取表结构信息

    6、解析表结构脚本。将各表的列信息存入数据库内便于后续使用。

    扫描脚本文件表结构信息存入数据库

    7、解析系统表获取用户表id信息、关联表结构与数据页。(为保护客户隐私,后续步骤涉及用户表表名及数据页内数据部分均未截图)

    8、新建数据库,使用北亚自主编写软件解析记录并导入到恢复环境内。

    9、整理恢复结果。在此分区内除数据库文件外还存有备份文件若干,所以在导出记录后可能存在重复数据,必须去重。编写SQL存储过程进行去重。

    数据库去重

    10、客户验证数据。客户在查验过数据后表示数据可以接受,移交数据到客户存储设备,恢复成功。

  • ?

    2017最好用的10个免费数据恢复软件,再也不用担心数据被误删了!

    Rod

    展开

    不小心误删或是弄丢了重要文件信息怎么办?有很多免费数据恢复软件可以帮助你恢复重要的文件文件。方便又好用,最关键的是这些数据恢复软件是免费的。接下小编就来告诉你怎么恢复误删或丢失的文件!

    2017最好用的款免费数据恢复软件:

    1、Recuva

    Recuva是一款功能强大的、兼容全部Windows平台的免费数据恢复软件。它易于使用而且有许多可选的高级功能。Recuva可恢复硬盘、闪盘、存储卡(如 SD 卡,MMC 卡等等)和CD/BD/DVD中的文件。Recuva也可以恢复iPod中所删除的文件。

    2、Glary Undelete

    Glary Undelete也是一款优秀的免费文件恢复软件。Glary Undelete 的最大优点是,它包含简单的 “Folders”视图、Windows资源管理器风格的视觉效果,以及文件状态标示等。

    Glary Undelete是一款可以恢复硬盘的文档,连移动光盘、U盘、移动硬盘都能恢复,而且支持FAT、NTFS等文件系统。

    3、TestDisk

    TestDisk是一款遵循GPL许可证的开源磁盘修复工具,可以修复由于软件缺陷或某些病毒导致的分区丢失或分区表丢失导致磁盘无法启动的问题。TestDisk 通过 BIOS ( DOS/Win9x)或操作系统 ( Linux, FreeBSD)查询硬盘特性( LBA大小和CHS 参数)。然后会快速检查磁盘数据结构并恢复分区表。

    4、QiangLi数据恢复软件

    强力数据恢复软件是一款高效易用、功能强大的专业数据恢复软件。主要可用于恢复被删除的文件、误格式化文件以及误Ghost丢失的文件等,其数据恢复成功率高达99%,有效找回用户丢失数据。

    5、Stellar Data Recovery(Stellar数据恢复)

    它能帮助你恢复近期被误删的Windows和Mac电脑上的数据。无风险程序,从不同类型的存储设备中恢复数据,如存储卡、智能手机、USB驱动器、硬盘等。使用Stellar数据恢复程序很简单。只需要下载,开始扫描,你就能从过去的数据灾难中恢复过来。

    6、Puran File Recovery

    Puran File Recovery是一款免费的文件恢复软件,使用这款文件恢复软件免费版可以对误删除的文件或者数据进行恢复,恢复的过程很简单。

    Puran文件恢复是能够扫描一个广泛的设备,包括硬盘,内存卡,可移动驱动器的CD / DVD和移动电话。

    7、 PhotoRec

    它是市面上最好的数据恢复软件之一,因其强大的文件恢复功能而广受赞誉,从数码相机到硬盘都有广泛的应用。专为从硬盘、CD-ROM中恢复图片、视频、文档等数据而创建。兼容几乎所有主要平台,如微软Windows、Linux、Mac OS X等。

    8、Wise Data Recovery

    Wise是本榜单中数据恢复速度最快的软件之一,除了速度更快之外,它还有一些不错的功能,简单直观的界面。可以从本地驱动器、USB驱动器、相机、存储卡、可移动媒体设备等中恢复被删除的文件。通过使用文件的类型选择内置的文件扩展组,更快地搜索过滤器。兼容Windows XP和Windows 8。在恢复过程中,Wise数据恢复工具能够快速执行文件扫描,但其实深度扫描的可用性会更好。Wise还有一个智能的便携式软件版本,无需安装。

    9、 Pandora Recovery

    一个功能强大的文件恢复工具,可以对删除的文件进行恢复.它支持NTFS、NTFS5和NTFS/EFS的文件格式,兼容本地和网络磁盘以及U盘,可以对BMP、GIF、JPG、PNG、ICO,TIF、TGA、PCX、WBMP、WMF、JP2、J2K、JBG、JPC、PGX、PNM、RAS、CUR等图形格式和TXT、LOG、INI、BAT、RTF、XML、CSS等文本格式的文件进行预览。

    10、 DMDE

    它是我所见过的功能最丰富的数据恢复软件之一。但是,无休止的各种选择实际上会使恢复过程变得复杂。便携,方便。支持扫描。它逐字地压缩了任何被删除数据的闪存驱动器。可以保存日志以避免在以后重新扫描。从将被恢复的数据中获得该设备的详细信息。不显示原始文件夹名,但显示原始文件名。文件搜索选项可用。多个过滤器,复制扇区选项以创建磁盘映像文件,构建RAID(磁盘阵列)的工具。

  • ?

    最专业的软件数据库数据恢复

    xxys

    展开

    软件:用友,速达,管家婆,远光,奇安、金蝶、美萍、百威、广联达……等各种财务软件、医药软件、医院软件、汽配软件、服装软件、宾馆软件、书店软件、超市软件、OA办公自动化……等各种行业软件。

    数据库:SQL,Oracle,Sybase,Access、dBase,FoxBase……等各种版本的新老数据库。

    故障:数据库质疑,删除库内表,格式化,重做系统,重分区,系统还原,软件报错,数据错乱,备份覆盖,硬盘损坏……

    收费:根据故障轻重和数据库文件的容量收费,500元起,数据库文件容量越大,工作量越大,耗时越长,收费越高。

    涉密:如果客户数据涉密和隐私,可以签订《数据保密协议》,保证数据不会有任何形式的泄露。

  • ?

    MySQL数据库误删恢复

    凝莲

    展开

    这世界上有后悔药-houhuiyao.cc 后悔药数据恢复 站长语

    前面介绍了MySQL数据库在使用InnoDB引擎时,如果误删了数据表,在共享表空间MySQL数据表InnoDB引擎表误删恢复(共享表空间ibdata1)和独立表空间MySQL数据表InnoDB引擎表误删恢复(独立表空间innodb_file_per_table=1)的情况下如何恢复数据。

    本文将探讨下MySQL数据库误删恢复。

    后悔药数据恢复提醒您:

    1,首先需要说明的是,生产环境下慎重执行删除操作,除非你确实明白自己在做什么,否则不执行危险动作。

    2,有条件的情况下,依靠系统来管理数据和数据库,尽可能降低依潜在的管理的风险。

    3,数据库有Update、Delete、Insert、Truncate、Drop类操作,先在测试环境执行一次,看结果和预期是否相符。生产环境执行前,先对要操作的表做一个备份,以防万一。后续将针对每个危险动作如何在生产执行时即准备好危机应对动作做一个探讨。

    4,备份,备份,备份。

    数据库误删,不管是使用的rm -rf testdb还是drop database testdb,最终的效果都是一样的:数据目录下的testdb目录及目录下的文件都不可见了(和之前介绍的Linux下恢复删除的情况一致),实际上文件内容依然还在那里如果没有数据覆盖上去的话。

    #测试环境准备命令:mysql> create database testdb;Query OK, 1 row affected (0.08 sec)mysql> mysql> use testdb; Database changed mysql> mysql> create table aa(id int not null primary key, name varchar(20)); Query OK, 0 rows affected (0.34 sec)mysql> mysql> insert into aa values(1,'a'),(2,'b'),(3,'c'),(4,'d'); Query OK, 4 rows affected (0.17 sec) Records: 4 Duplicates: 0 Warnings: 0mysql> select * from aa; +----+------+ | id | name | +----+------+ | 1 | a | | 2 | b | | 3 | c | | 4 | d | +----+------+ 4 rows in set (0.00 sec)

    testdb数据库表文件:

    MySQL数据库恢复

    #删除数据库:#使用SQL命令 drop database testdb;#使用rm rm -rf testdb/

    那么,这种情况下的数据库恢复动作就简单了,参考前面介绍Innodb引擎时的恢复方法即可:

    1,完整的恢复testdb目录及目录下的文件即可找回删除掉的库名和表数据,然后针对具体的表引擎,将数据重新导入到数据库中即可。

    2,如果找回的是非完整的,那么操作思路是一样的,能恢复多少恢复多少,剩余的如果实在找不回来,从最近一次的备份里提取,然后依靠其他手段比如单据来补全数据。

    还是不知道怎么恢复MySQL数据库?找后悔药MySQL数据恢复houhuiyao.cc吧!

  • ?

    MySQL update的数据恢复

    细腰

    展开

    这世界上有后悔药- houhuiyao.cc 后悔药数据恢复 站长语

    前面介绍了误删部分数据恢复MySQL恢复delete的数据。部分数据恢复指的是非计划清理的那部分数据,存在恢复的需求的一点建议。通常情况下是碰不到这类问题的,做好准备也可以规避掉类似的问题。

    有Delete误删数据,自然就联想到update误更新数据。本文探讨下MySQL update的数据恢复。

    实际上update误更新数据的隐蔽性相对于delete更强,少数据了自然相对容易对比数目、数据的连续性等直观感受发现。而数据变更了,尤其是非字符型数据(字符型数据如标题、作者等。非字符型如类别ID,浏览量等)的变更,很难一眼就发现。比如有几十上百个分类属性,文章数几十万,在进行部分特征文章进行分类批量迁移时,误把不需要进行迁移的文章分类一并由编号33更改为了35,而此类文章可能本身就因为什么原因关注度就一般,迁移完都没有感觉哪里不妥。

    此类情况很不易发现。虽然举的例子看起来关系很小,只是分类误更新了而已,后续还是可以发现了再调整。但如果这里调整的不是文章,而是有货币属性的,比如积分,代表用户可以透支的信用等级,甚至是利息,存款周期,货物价格等等。

    来看一个鲜活的例子:

    类似手滑的真实例子远不止这一两例。电商类的平台,想必价格管控复查等规范和流程都是健全的,依然避免不了意外(谁也不知道明天和意外哪个先来)。

    虽然啰嗦,依然想再提醒下:后悔药数据恢复再次提醒:

    1,首先需要说明的是,生产环境下慎重执行删除操作,除非你确实明白自己在做什么,否则不执行危险动作。

    2,有条件的情况下,依靠系统来管理数据和数据库,尽可能降低潜在的管理的风险。

    3,数据库有Update、Delete、Insert、Truncate、Drop类操作,先在测试环境执行一次,看结果和预期是否相符。生产环境执行前,先对要操作的表做一个备份,以防万一。

    4,备份,备份,备份。

    如果真的按照上面的提醒来操作,也几乎不可能会出现误删的情况除非是SQL自身存在逻辑不严谨问题 :)

    如果确实发现误更新了,怎么办?1,和delete相比,update有一个问题,就是要确认哪个数据才是最终更新前的可靠数据。Delete删除时,所删除掉的数据就是本条记录最终版本的数据,找回这条数据即可完整的恢复好本条记录。而update的变更版本多,所以确切的找回那条数据并能确认就是更新前的版本是一大关键,否则找回来的旧版本数据和当前误更新了的数据本质上是没有什么区别的:都不准。

    2,如果开启了binlog且日志完整,则相对容易找回数据。将binlog解析出来后,把最终导致误更新数据的那条SQL注释或者删除掉然后恢复数据即可,可以可以参考MySQL恢复误删的数据 。

    3,从备份中把数据恢复出来,进行比对。这里需要注意的依然是数据的有效性问题,备份的数据是历史版本旧数据,无法确认更新前的最终版本。可以用于参考,运气好的话,误更新的字段内容也许备份前就是最终版本,可以直接使用。

    4,有书面的单据或者其他纸质的内容、邮件等,可以用于确认数据的,都可以用于找回数据。

    如何最大限度避免误更新?1,不要使用数据库,则没有烦恼!

    2,参考上面的提醒。

    3,严谨的操作和执行到位的流程,可以很好的避免这类问题。

    4,找我们后悔药数据恢复houhuiyao.cc来提供服务吧,我们又稳又好用,这些操作都熟。

  • ?

    mysql数据恢复方案

    芳草祭

    展开

    背景

    环境:MariaDB数据库,存储引擎InnoDB

    数据库名:douniu

    损坏方式:不明

    备份情况:有一个表结构的备份,没有开启binlog

    结果:可以启动、登录,无法对表执行select/desc/drop等操作

    方案

    1. 在一个新的server(我的是centos6)上创建一个mysql5.6 建议使用rpm安装(简单)具体安装自行百度,因为5.6版本较高,且默认使用每个表独享数据文件

    2. 登录并创建douniu数据库

    createdatabase douniu;

    3. 创建备份的表结构

    usedouniu

    sourcexxxxx;

    4. 导出要恢复的表的数据文件作为备份(新创建的)例如tb_game_result.ibd

    5. 分离舍弃表空间文件

    altertable tb_game_result discard tablespace;

    6. 使用ue查看导出的新的tb_game_result.ibd查看第三行的第三列和第五列

    或者使用下面的命令在linux操作系统查看

    hexdump -C tb_game_result.ibd |head -n 3 |tail -n 1|awk'{print $6$7}'

    7. 替换space id

    使用ue打开老的tb_game_result.ibd,把刚刚看到的00 和10替换到老的文件里

    8. 把修改后的tb_game_result.ibd文件上传至服务器

    9. 修改文件的owner和权限,我这里是mysql

    chownmysql.mysqltb_game_result.ibdchmod660tb_game_result.ibd

    10. 导入表空间文件

    altertable tb_game_result importtablespace;

    11. Test

    select * from tb_game_result;

    转载请保留以下内容:

    本文来源自天善智能社区老头子博客,

    原文链接:https://ask.hellobi/blog/azzo/6219

db数据恢复

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP