中企动力 > 商学院 > 数据库覆盖恢复
  • ?

    程序员误操作把数据库删了,网友纷纷化身专家救援,起死回生!

    占飞松

    展开

    搞技术的,有一点思想绝对不能忽略,那就是安全意识,这个比技术能力还重要,在面试的过程中,面试官的一些交谈中也会试探应聘者的这方面的意识,如果没有足够的安全意识,即使技术能力很强,也不会被入选,对程序员来说,除了保持谨慎的态度外,还要具备一定的数据敏感性,时刻不能马虎大意,一个小数点的差别将可能是天壤之别,更应该需要注意的就是运维工程师了,因为他们整天都在玩转数据,如果一时粗心,就可能引火烧身,这不,最近就有一个鲜活的案例在一名运维工程师的身上上演了!

    这名运维工程师一时大意把公司的数据库给删了,晴天霹雳啊,这样的事情也只能在新闻上看看,可是没想到却在他的身上上演了,他是用的navicat,这款工具提供的界面化操作,操作非常便利,深受广大程序员及运维工程师的喜爱,凡事有利也有弊,本来是提供便利,却让他很“便利的”把数据库给删了。虽然之前有过备份,但是备份的数据与最新数据相差500多万条记录,怎么才能找回这部分丢失的数据呢?接下来我们一起看看网友们有什么好的办法没有。

    网友一:你说你本来是想炼一只鲲,结果操作失误把游戏给删了。

    作者点评:这名网友是位游戏玩家吧,我不理解他的意思,不过好多人点赞,貌似很幽默的样子,我也勉强支持一下吧!

    网友二:还原。不然,严重的话,你需要负法律责任。如果真的是意外的话,需要赔偿一些钱

    作者点评:是的,说的没错,这个时候最重要的是想办法把损失降到最低,最大程度的去还原数据!

    网友三:干得漂亮又不专业

    作者点评:这名同学就不要再嘲讽了,今天这个坑是他挖的,说不定哪天也会落到我们的头上,我们要通过别人的教训来增加自己的经验,把他的事情放在我们的身上去思考,让我们以后也避免类似的错误发生!

    网友四:你是塑料运维吧!

    作者点评:人都有糊涂的时候,这也不是他愿意发生的,既然发生了就冷静的去解决,相信通过这次教训,他以后再也不会发生这样的错误了!

    网友五:以后就不要用navicat了,Dbvis…了解一下

    作者点评:这名网友推荐了另一款工具,可以去了解一下,不过始终要记得工具只是一个辅助作用,安全问题还是要靠人的意识去掌控的。

    网易员工:从log恢复,备份恢复后,然后从log里面恢复

    作者点评:这名网易员工提供了解决方案,是的,通过log是一种方法,但这名同学也要结合自身的具体情况去考虑!

    网友六:先什么都别动,看看能不能恢复

    作者点评:是的,先策划好方案,没有出来方案之前,先按兵不动,防止二次事故发生

    网友七:磁盘数据恢复。

    作者点评:这是一种方案,通过磁盘数据恢复貌似成本有点大,据说要花不少钱那种,这种方案以前还从没尝试过!

    感谢这些网友们的大力支持,不单是给当事人提供了技术方案,最重要的是提供了精神支持,在当事人需要支持时没让他感到冷落,而是纷纷出主意,这是一个比较令人欣慰的一点了,虽然有一小部分网友嘲讽,但是大部分网友还是比较热心的,再次感谢他们。这其中还有一部分网友说:“跑路吧”,这个真不至于,跑了和尚能跑了庙么?我们平时做事要时刻保持谨慎,但是一旦出了事,也不要害怕,要正面的去面对,勇于承担责任,而不是去逃避。

    最后,在评论区,跳出了一条信息,这条信息是当事人回复的,这名当事人说到:“已经恢复了,谢谢各位大神”,看这名当事人回复的是网易员工,应该是网易员工的方案对他有所帮助吧,不论怎么样,好了,这个结果还是比较令人暖心的,没有造成很大的损失,同时,我想通过这次教训,这名当事人也长了不少记性吧,以后绝不可能再犯这样的错误了,整个评论区的格调也一下子从悲伤转为欢乐!

    大家好,我是“上世是朵花”。如果你有什么好的看法或者观点可以在评论区展现你的才华,互动交流,如果想进一步了解我,那就关注我吧!

  • ?

    华为云数据库推出表数据快速恢复,细粒度解决用户误删数据问题

    吴凝雁

    展开

    近来,数据库安全问题频发,如何保障业务数据可靠、可用、可恢复性再次被业界提上议程。华为云数据库也适时推出表数据快速恢复功能,支持表级别的时间点数据恢复,帮助用户快速恢复 MySQL 数据库中某张表的数据,解决用户误删、误drop数据问题。

    该功能适用于更细粒度的数据恢复。当用户在某个时间点删除了某个表,或者修改了某个表的一些记录时,只需对该表进行恢复,而不用将整个实例进行恢复,可以大幅节省恢复时间。

    通过表级时间点恢复备份,用户可以根据需要恢复库表,且不会导致实例数据被覆盖。系统会自动生成以时间戳为后缀的库表名,也支持自定义恢复后的库表名,相当便利。

    目前,该功能仅支持 MySQL 数据库。值得一提的是,自华为云 MySQL 搭载 HWSQL 内核后,增强连接池特性,并发量 5000 时性能依然稳定,QPS 超过 17万+,性能远超社区版。这对于高并发场景显著的行业,例如游戏行业而言,无啻于福音。

    我们知道,游戏行业动辄百万级玩家同时在线,并发数达到 3000+,单实例 QPS 峰值 10万+,对数据库性能要求高。此外,由于玩家在线数量不确定,扩容开服、缩容合服的情况频繁,资源使用弹性大;行业竞争激烈,恶意攻击且攻击方式复杂多变,安全性要求也高。

    华为云数据库 MySQL 的性能,单区足以支撑千万级用户在线,且支持一键 CPU/内存/存储空间扩容、添加只读副本,满足资源弹性伸缩需求。在安全性方面,华为云数据库提供了VPC、安全组、防 DDoS,防 SQL 注入,数据加密、SSL 加密连接等多维度安全策略,并获得了可信云、安全等保、CSA STAR 等多种权威认证,为数据库提供全方位高安全防护。

    华为云 MySQL 在性能和安全上的突出表现,离不开技术的支持和功能的持续优化。

    早前,华为云 MySQL 就引入了线程池功能,支持更多连接,对于大并发性能提升明显。并对 MySQL5.6 引入真正的多线程复制,大大降低社区版单线程复制导致的复制延迟。存储引擎 MyISAM 自动转换为 InnoDB,完全支持事务,同时避免表级锁,提高并发性。

    此外,华为云 MySQL 还对 RDS 进行权限控制,对能影响实例稳定运行的命令进行权限控制,保障实例稳定可靠,提供更高安全保障。

    近期,华为云 MySQL 上线了一系列新特性,不但对数据库性能进一步提升,而且首家彻底解决用户迁移上云要修改应用程序,以及传统数据库备份遭遇事务阻塞的问题。

    本次 MySQL 推出的新功能,还包括配置了长时间超时事务,避免业务处理异常、造成超长事务带来的系统影响;支持动态开关线程池,针对高并发、小并发不同场景选择不同状态,且无需重启数据库。以及支持 root 账号 kill 掉其他 user 线程,提升用户体验等。

    HUAWEI CONNECT 2018作为华为自办的面向ICT产业的全球性年度旗舰大会,将于2018年10月10日-12日在上海隆重举行。本届大会以"+智能,见未来"为主题,旨在搭建一个开放、合作、共享的平台,与客户伙伴一起共同探讨如何把握新机遇创造智能未来。

  • ?

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

    冬儿

    展开

    故障描述:

    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、客户验证数据。客户在查验过数据后表示数据可以接受,移交数据到客户存储设备,恢复成功。

  • ?

    手机原来的通讯录被覆盖了该如何找回?

    期几许

    展开

    手机通讯录被覆盖,原来的通讯录可以尝试使用第三方软件进行找回,下面就以360软件管家中的第三方软件为例,操作步骤如下:

    1、打开“360安全卫士”,点击“软件管家”选项卡。在打开的界面中搜索“手机通讯录恢复”进行搜索。从搜索列表中选择对应的通讯录恢复软件,点击后面的“下载”按钮,以完成软件的安装操作。

    2、需要获取手机ROOT权限。一般都使用“刷机精灵”来获取手机ROOT权限。

    3、安装“RE文件管理器”,利用此工具将依次进入“data\data\com.android.telephony\databases”文件夹,勾选“mmssms.db”文件和“mmssms.db-wal”文件,点击左下角的“复制”按钮。将这两个文件复制到手机内存或SD卡中。如果找不到“mmssms.db-wal”文件,则只勾选“mmssms.db”进行复制操作即可。

    4、将手机与电脑进行连接,打开手机所在盘符,将刚才复制到sd卡上的mmssms.db及mmssms.db-wal文件复制到电脑里面的某个文件夹下。

    说明:如果没有mmssms.db-wal文件的话,则只需要复制mmssms.db文件即可。

    5、接着从网上下载“SQlite export”软件来查看数据库文件。

    6、利用“SQliet”程序打开本地通讯录数据库文件。

    7、然后点击“Data”项,就可以在“Data”选项中看到手机中的所有通讯录信息。

    8、如果对“SQlite export”工具不熟悉时,可以借助第三方数据库分析工具来恢复通话记录。

    9、接着从弹出的“选项”界面中,点击“数据库文件”按钮以选择对应的手机通讯录数据库,同时勾选“通讯录”项,点击“搜索”按钮,即可自动完成通讯录的恢复操作。

    (本文内容由百度知道网友p550126889贡献)

  • ?

    文件被覆盖后旧数据还能找回吗?

    惠访旋

    展开

    有时候,我们会将文件命名成容易整理的名称,这时候可能会出现文件覆盖的情况。文件覆盖一般是指原有的文件被新的同名文件覆盖,导致之前的数据丢失的情况。那么,文件覆盖后旧数据还能找回吗?

    其实,文件覆盖和误删除和误格式化不同,主要是文件被替换的过程,这时候,其实原来的文件并非被覆盖了,而是以一个临时文件的形式存在,所以是可以进行恢复找回的。

    而已经被替换了文件的磁盘上,如果被写入了新的文件,则文件原有位置很可能被新的文件覆盖掉,这就无法恢复了。因此,当数据丢失后,建议大家暂停电脑上的操作,尤其是文件丢失的磁盘。然后我们就可以使用转转数据恢复打大师软件来恢复数据。但是使用恢复软件的时候要注意三点:

    1、避免数据被覆盖

    2、文件恢复保存需避免源盘:为了防止文件恢复不完整,一般情况下用户应该把文件另存到其他磁盘

    3、文件丢失后禁止磁盘检查或者格式化:磁盘检查或格式化都是一个数据写入的过程,产生的数据会占领删除文件所在位置,导致文件彻底无法恢复。

    具体操作步骤:

    1.首先将转转数据恢复大师软件下载安装到电脑上,然后双击运行,在软件界面点击选择被覆盖文件所在的磁盘,比如硬盘等。勾选后点击软件右下角的“下一步”选项

    转转数据恢复大师

    2.接下来会进入模式选择,我们直接选择“深度扫描”,然后点击下一步。接下来会出现文件类型选择,勾选后可以更加精确的找到需要恢复的文件

    3.点击后软件会对所选磁盘进行扫描,在扫描界面左侧文件目录栏中找到要恢复的文件,然后再文件名上,右击可以进行预览,确认是想要恢复的文件后,点击界面下方的“恢复“选项

    转转数据恢复大师

    4.点击“恢复”后,在跳出的路径设置框中单击“打开目录”自定义设置文件转换后的保存路径,设置完成后点击“确定”选项开始恢复文件

    5.耐心等待文件恢复完成,在设置的路径下查看恢复后的文件

  • ?

    SQL2008数据库的备份与还原

    爱丝特

    展开

    一、上期我们分享了SQL2000数据库的备份与还原,这期我们再来分享下SQL2008数据库的备份与还原。

    二、SQL2008数据库的备份

    1、登录sql server management studio

    2、选择要备份的数据库,右键—任务—备份

    3、添加备份目标,并输入备份文件的名称

    4、这是选择好后的显示页面,确定再确定即开始备份并完成

    三、数据库还原

    1、选择要还原的数据库—右键—任务—还原

    2、如图,刚才备份的数据库会直接显示,可以直接还原

    3、注意选项中要勾选“覆盖现有数据库”,“还原为”的路径一定确保正确

    4、另外一种情况是通过源设备选择还原的文件

    5、“文件类型”要选择所有文件,否则看不到备份是文件

    6、勾选“还原”,确定即可完成还原

  • ?

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

    Ying

    展开

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

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

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

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

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

  • ?

    MySQL恢复delete的数据

    潘子轩

    展开

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

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

    如果没有完整的把数据库或者表删除掉,而仅仅是删除了表里的部分数据,比如本文探讨的:delete命令数据误删恢复,这种情况应该发生的概率更大,毕竟有机会删除库和表的权限和命令通常控制的都很严(删库跑路是段子)。

    有人会有疑惑,用delete命令去删除数据,不都是正常想删除掉的么,为何存在要恢复的情况。说的很对,确实想要删除的自然不必再恢复,怕就怕手滑,没打算删除的也一并干掉了。这里我们探讨的就是这类被误删的数据该如何恢复。

    后悔药数据恢复再次提醒:

    1,首先需要说明的是,生产环境下慎重执行删除操作,除非你确实明白自己在做什么,否则不执行危险动作。2,有条件的情况下,依靠系统来管理数据和数据库,尽可能降低潜在的管理的风险。3,数据库有Update、Delete、Insert、Truncate、Drop类操作,先在测试环境执行一次,看结果和预期是否相符。生产环境执行前,先对要操作的表做一个备份,以防万一。4,备份,备份,备份。

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

    如果确实误删了,该怎么办?1,InnoDB表中delete命令并不擦除真实的数据,只是做了一个删除标记,实际的数据内容依然存在。如果发现及时并且运气也不错,暂停下业务防止数据被物理覆盖,立即将数据文件拷贝出来,然后解析数据文件,使用percona的undrop-innodb工具进行最后的尝试。

    2,如果开启了binlog,情况要好很多,将历史的binlog文件集中起来,解析出来全部的和所操作的表有关的SQL,剔除这条误删数据的delete命令,然后恢复数据。可以参考MySQL恢复误删的数据。

    3,如果有备份,那么可以通过解析备份文件,将表数据提取出来进行恢复(备份文件过大如何提取部分数据,后续将探讨这个情况)。需要注意的是,备份结束后到误操作前这段时间内所产生的数据将无法找回,用历史数据回滚的数据不完整性需要自行评估,有其他条件可以补全数据的最好。

    4,有些系统开启了日志功能,并且日志历史也均保留了下来,也可以尝试查找查找。

    如何避免这种灾难式的事情发生?这个可能是更多人关注也更有意义的事。1,不使用数据库,这样就没有烦恼了。

    2,参考前面的提醒,对生产环境存敬畏之心,谨慎操作、流程化操作,则问题出错的概率将可以降低到最小、影响面减少到最小。

    3,也可以将数据库维护的苦活、累活、脏活交给我们来操作,毕竟我们又稳又好用,所有操作都熟。

    误删了数据,想立即跑路?也许不用,联系下后悔药数据恢复houhuiyao.cc吧,我们将尽一切可能帮您找回数据。

  • ?

    SQL数据库附加与还原的区别

    符绿蝶

    展开

    一、附加数据库与分离数据库相反,只有分离的数据库才能附加,分离后的数据库不能再正常读取,只有附加后才能读取;而还原数据库是指在原有数据库的基础上进行,一般选择覆盖原有数据库,SQL中如果不存在这个库是不能还原的(物理设备上要有库文件)。客户的服务器需要重装,小编是先备份原库(使用软件或SQL备份或停止SQL直接拷走数据库文件或在PE下拷走),重装完成后拷回原位置直接附加(个人经验附加始终比还原快),使用还原的情况比较少。还原数据库小编之前已经分享过,这里不再赘述。今天小编来分享下数据库的分离与附加。

    二、分离数据库

    1、选中要分离的库—右键“所有任务”—分离数据库

    2、如果存在数据库连接可“清除”,点击“确定”

    3、分离成功

    三、附加数据库

    1、要在“数据库”上右键—所有任务—附加数据库

    2、附加数据库界面:点击按钮

    3、选择要附加的数据库文件,注意要选择.MDF的文件,.LDF是日志文件

    4、选择好后的界面,注意“指定数据库所有者”,有的是sa,有的是其它的,比如科脉是km

    5、点击“确定”,附加成功

    四、有时候轻度数据库置疑也可以通过“分离—附加”来修复,不过还是不建议这样做。我是百家号作者小白信息说,专注电子信息领域经验分享、技术交流,感谢关注!

  • ?

    一招教你轻松解决被覆盖的数据怎么恢复的问题

    杜姆亚特

    展开

    遇到重要数据丢失,我们在会向专业人士请教时总能听到一个词:覆盖,那么什么是数据覆盖呢?被覆盖了的数据还能恢复吗?今天的文章,就来解决这些问题。

    一、什么是数据覆盖

    数据覆盖其实就是指新的数据文件占用了旧数据的分区,当我们删除文件的时候,这些数据没有将其彻底删除,只是将其进行标记,让系统不再显示那个数据。

    我们也可以简单的理解成系统将被删除的数据设置成隐身模式储存在设备中,当有新的数据进来时,抢占了它们的位置,这时旧的数据才会被系统彻底清除。

    所以,如果在删除数据没有植入新的数据,数据的恢复率是可以达到100%。那么,被覆盖的数据还可能被恢复吗?

    二、被覆盖的数据可以恢复吗

    被覆盖的数据想要被恢复是有一定难度的,一般来说,数据在层面上可以分为两种,一种是物理层,一种是逻辑层,这个层面在数据恢复上的难度也是有差别的。

    1、物理层被覆盖数据的恢复

    所谓物理层恢复,就是从物理层面把磁盘扇区恢复到改写之前的状态。我们在进行删除或者格式化操作时,并内有破坏数据保存区域,因此,如果数据没有被多次改写,还是有很大可能可以找回。

    2、逻辑层被覆盖数据的恢复

    逻辑层的数据恢复需要通过提取分区,直接将目录数据提取出来,进行恢复,但实际实行起来难度很大。

    三、借助数据恢复软件恢复数据

    了解了数据丢失的原因,接下来我们来解决如何恢复数据的问题。我们可以通过第三方软件——强力数据恢复软件来进行操作。

    此软件可以解决误删除文件、误格式化、硬盘分区出现问题所造成的数据丢失问题。下面介绍一下使用方法。

    第一步:下载软件后,打开页面,点击“快速扫描”,扫描设备内容。

    第二步:扫描电脑磁盘分区,可以所在分区的数据。

    第三步:在“路径”中按照文件所储存的磁盘位置进行相应的数据恢复。

    虽然现在有软件可以帮助我们找回数据,但是对于重要的数据还是要做好备份,有备无患。

数据库覆盖恢复

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

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

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP