mysql数据库使用的网站,在后台不小心把近几天的内容删除了,请问能帮恢复吗

MySQL数据库删除后的恢复工作
上午不小心把昨天刚刚建好的一个数据库删了个精光!幸好mysql中开启了日志功能。
下面总结一下数据库删除后的恢复方法:
首先:将最近的二进制类型的日志文件存成文本文件导出,命令如下:
mysqlbinlog
F:/wamp/mysql-bin.000045
& F:/test.txt
其次:打开保存的txt文件,文件格式如下:
其中at 1099代表第1099个命令(姑且这么记),查询这些命令,看看你需要回复的命令在什么地方,然后执行命令。
最后:执行回复命令,如下:
mysqlbinlog
--start-position="123"
--stop-position="531"
F:/wamp/mysql-bin.000045
F:/test.txt | mysql -uroot -p
这样就可以完成数据库的回复了!!!
mysql数据误删除的恢复,drop表或库的恢复
记录一下误删除了mysql表中的数据后的恢复过程
mysql数据库备份与还原命令
MySQL误删除文件后,如何恢复
mysql 删除数据库恢复
没有更多推荐了,客服热线:400-995-7855
当前位置:&&&
心惊肉跳!一次服务器误删数据的恢复过程
& 17:32&&来源:&
  经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据。对本次事故过程和解决办法记录在此,警醒自己,也提示别人莫犯此错。也希望遇到问题的朋友能找到一丝灵感解决问题。
  事故背景
  安排一个妹子在一台生产服务器上安装Oracle,妹子边研究边安装,感觉装的不对,准备卸载重新安装。从网上找到卸载方法,其中要执行一行命令删除Oracle的安装目录,命令如下:
  rm -rf $ORACLE_BASE/*
  如果ORACLE_BASE这个变量没有赋值,那命令就变成了
  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,安装(编译安装过程艰辛暂且不表)。
  先执行扫描文件名命令:
  ext3grep /dev/vgdata/LogVol00 --dump-names
  打印出了所有被删除文件及路径,心中狂喜,不用执行B计划了,文件都在呢。
  这款软件不能按目录恢复文件,只能执行恢复全部命令:
  ext3grep /dev/vgdata/LogVol00 --restore-all
  结果当前盘空间不足,没办法只能恢复文件,尝试了几个文件,居然部分成功部分失败
  ext3grep /dev/vgdata/LogVol00 --restore-file var/lib/mysql/aqsh/tb_b_attench.MYD
  心里不禁一凉,难道是删除磁盘上被写过文件了?恢复机率不大了啊,能恢复几个算几个吧,说不定重要数据文件刚好在能恢复的MYD文件中。于是先将所有文件名重定向到一个文件文件中
  ext3grep /dev/vgdata/LogVol00 --dump-names &/usr/allnames.txt
  过滤出来所有mysql数据库的文件名存成,mysqltbname.txt
  编写脚本恢复文件:
while read LINE
&&&&&&&&&&&& echo "begin to restore file " $LINE&&&&&&&&&&&& ext3grep /dev/vgdata/LogVol00 --restore-file $LINE&&&&&&&&&&&& if [ $? != 0 ]&&&&&&&&&&&& then&&&&&&&&&&&&&&&&&&&& echo "restore failed, exit"&&&&&&&&&&&&&&&&&&&&& # exit 1&&&&&&&&&&&&& fi
done & ./mysqltbname.txt
  执行,大概运行了20分钟,恢复了40多个文件,但不够啊,我们将近100张表,每张表frm,myd,myi三个文件,怎么说也有300多个左右啊!!将找回来的文件附到现有数据库上,更要文件权限为777后,重启mysql,也算是找回一部分数据了,但客户重要的考勤签到数据、手机端上报数据(据说客户按这些数据做员工绩效的)还没找回来啊。
  咋 办?中间又试了另一款工具extundelete,跟ext3grep语法基本一致,原理应该也一样了,但是据说能按目录恢复,好吧试一试。
  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
  ext3grep /dev/vgdata/LogVol00 --restore-file var/lib/mysql/mysql-bin.000001
  居然失败了。。。。。。
  再看另两个文件,mysql-bin.000010大概几百MB,应该靠谱一点,执行还原命令,居然成功了!!!!!!!!!!!!!
  赶快scp到测试服务器。执行binlog还原。
  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(http://pan.baidu.com/s/1kT1ETVp)。
  这个工具有一个bug,出错后不会向下执行ext3grep: init_directories.cc:534: void init_directories(): Assertion `lost_plus_found_directory_iter != all_directories.end()' failed.,从而造成恢复失败,作者放出了一个补丁,下载地址:补丁下载(https://ext3grep.googlecode.com/issues/attachment?aid=1854269&name=lostfound_missing.patch&token=ABZ6GAfPeDpgvmC7lK0tdcQCktSl6-dODw%3A2)。不明白为什么作者新版没有把这个补丁加进去。
  2.extundelete:http://extundelete.sourceforge.net/
  功能跟ext3grep差不多,原理应该也差不多。只是号称可以还原目录,我这里没有试验成功。
扫一扫关注A5创业网公众号
责任编辑:扬扬
某网站在百度的收录也收录了一些什么彩票内容的快照,网站首页快照也被修改成赌博内容,并被百度直接红色风险拦截提示,,部分页面已被非法篡改!根据以上客户被黑的情况,立即进行了全面的网站安全检测,针对网站被黑的情况制定了详细的安全部署方案。
网站文章收录速度,也反映了百度快照的更新速度。要想提高文章被百度收录的几率,要么让百度频繁光顾你的网站抓取信息,要么把你网站上的内容充实起来,每天更新大量高质量的文章,内容多了,被检索的几率也会更大,自然收录的几率就会更大。
对于绝大多数的企业网站来说,从网站建设到网站运营,通常是虎头蛇尾,上线网站轰轰烈烈,而网站上线后却处于无人管理状态,造成这个原因,和企业的自身定位有关系,也和对网站的重视度有很大关系。
从网站建设到网站运营,似乎经历这样的变迁,建设一个网站越来越简单了,而运营一个网站却越来越难了,这是什么原因造成的呢?具体来说,如今的网站运营主要包括三个方面:用户运营、渠道运营、数据运营,三者之间彼此共存,互相共补,从而让网站运营进入正常化。
网站建设时要优先明白网站的目标和受众在哪儿,从而根据目标和受众的定位进行网站结构框架搭建。在网站建设时要明白,网站建设的最终目的就是增强网站的影响力,即增强用户黏性或扩大企业影响力。那么,在网站建设时该如何增强网站效果呢?
最近有朋友遇到的网站被惩罚降权了,收录减少流量减少,不懂怎么回事问到我这里来了,今天就这这个话题分享一下网站降权怎么快速恢复。下面就带来网站被降权的快速恢复策略。
会了百度竞价,其它如搜狗竞价,360竞价也基本上没有什么问题!但百度竞价面临很多的常识!在操作过程中,很多简单的问题,不一定会引起重视。今天,张开辉详细讲解常见问题:影响点击量的因素有哪些?
客户网站于近日被跳转到赌博网站,客户网站本身做了百度的推广,导致所有访问用户都跳转到赌博网站上去,给客户带来很大的经济损失。我们SINE安全对客户网站进行检查发现,客户网站的标题TDK被反复篡改成(北京赛车PK10等内容)立刻对该客户网站的安全,进行全面的源代码安全审计以及网站漏洞检测与网站漏洞修复
当今互联网正在迅速发展,许多用户选择在网上查找信息和购买产品,如果用户浏览到您的网站,你要如何留住他们?如何让用户在您的网站上建立信任?1.内容信息,2.网站的稳定性,3.不断更新的内容,4.网站设计效果。
在头条悟空问答看到这样一个问题:“互联网创业是否要抛弃PC端的网站!”对于上海集锦科技来说,这是一个很敏感的问题,因为从事高端定制网站,并没有随着移动互联网的强势而衰落,反而需求更大了,竞争也越发的激烈了!
创业好项目
写了4年多博客 我选择了从头再来
扫描二维码关注A5创业网了解最新创业资讯服务
&徐州八方网络科技有限公司&版权所有&
举报投诉邮箱:
扫一扫关注最新创业资讯不小心把 MySQL 数据库全删了咋办。。
09:16:02 +08:00 · 17736 次点击
全是放内存盘的。。而且事后还 umount 了。。
最近的备份是三个月前的。。
83 回复 &| &直到
21:07:34 +08:00
& & 09:16:50 +08:00
准备离职材料
& & 09:17:30 +08:00
@ 个人博客,没那么严重。。
& & 09:17:39 +08:00 via Android
没咋办,直接办后事,找不回来了,如果是自己的数据就重新来过,如果是客户数据,该赔偿赔偿,该道歉道歉。
& & 09:17:55 +08:00
@ 个人博客,目测得蛋疼了。。
& & 09:18:04 +08:00
google search cache
& & 09:18:39 +08:00
@ 好东西,可以替我恢复大部分了。 thx~
& & 09:18:47 +08:00 via Android
如果你的文章被搜索引擎收录了的话, site:域名,通过快照能找回多少算多少
& & 09:19:17 +08:00
& & 09:19:27 +08:00
去庙里进个香试试
& & 09:21:28 +08:00
& & 09:22:18 +08:00
@ 貌似要梯子,直连被重置了,还是 thx 了~
& & 09:23:43 +08:00
写辞职报告吧
& & 09:25:48 +08:00
& & 09:26:10 +08:00
《 MYSQL 从入门到删库跑路》
& & 09:30:52 +08:00
看看有没有开启 binlog ,试试从 log 回复一部分
& & 09:46:00 +08:00
& & 10:06:49 +08:00
这其实是你重新做人的好事。
& & 10:08:33 +08:00
格盘乃兵家常事,大侠请重新来过。
& & 10:10:35 +08:00
叫你爱用内存盘,叫你不勤快备份,叫你爱吃蛋炒饭...摔节哀顺变,请大侠重新来过。
& & 10:11:59 +08:00
有 bin 日志么?
& & 10:15:17 +08:00
从入门到跑路
& & 10:15:20 +08:00
个人博客只用内存盘,也是醉了。而且你还不会用。。。你应该双数据库,发送 update 或 delete 的时候,写到持久数据库,然后刷新内存数据库。
& & 10:15:41 +08:00 via Android
失手删过一次后,我学会了自动备份?
& & 10:17:38 +08:00
从删库到跑路。。。
& & 10:18:28 +08:00
还好最近更新是一个月前。。
& & 10:19:19 +08:00
@ 貌似没有,也就这三个月几篇文章懒得恢复了。
& & 10:23:11 +08:00
不过我拿到一份数据库,但是 ibdata1 没了。。就结构还是没卵用
& & 10:33:48 +08:00
收拾细软, 赶紧跑路
& & 10:38:48 +08:00
learn mysql 从入门到删库跑路恭喜你 mysql 功力大成
& & 11:14:22 +08:00
哈哈哈哈哈 棒
& & 11:17:29 +08:00
mysql 从删库到跑路
& & 11:20:17 +08:00
吓得我赶紧备份了一下数据库
& & 11:25:08 +08:00
@ 不是世界上几乎所有的优秀网站都必备梯子么。@ 还得看 binlog 是什么格式的……
& & 11:25:10 +08:00
没有 binlog?现在做网站肯定要使用 rds 服务吧,放本机怎么都感觉不靠谱
& & 11:27:33 +08:00
& & 11:34:33 +08:00
用静态博客吧,文章都丢 dropbox 备份。
& & 11:41:49 +08:00 via iPhone
& & 12:27:52 +08:00 via Android
上静态吧~文章扔 git 上备份
& & 12:30:49 +08:00 via iPhone
搜索引擎快照找回部分吧
& & 12:38:07 +08:00
同意 7 楼,搜索引擎找快照
& & 12:49:08 +08:00
@ 安利一拨 googlebridge 快照 ?
& & 12:50:31 +08:00
@ 不好意思 貌似不好删除回复, 忽略我刚才的回答?
& & 15:15:20 +08:00
@ 骨灰级玩稼
& & 16:26:00 +08:00
@ +在天台徘徊的日子?
& & 16:33:17 +08:00
@ ?悲剧的是 我发现谷歌根本没收录。。
& & 17:13:47 +08:00 via iPhone
& & 18:54:10 +08:00 via iPhone
来个特例,屏蔽搜索收录每天备份本地和云盘
& & 18:54:25 +08:00
如果你有 binlog 的话
& & 19:03:09 +08:00
这就是为什么我的文章一定要有一个静态文件的版本。。。狡兔三 git
& & 19:24:29 +08:00
弄个备份脚本就这么难吗?
& & 19:50:35 +08:00
markdown 写呀,然后直接 git~~~~~
& & 19:59:54 +08:00 via iPhone
& & 20:02:57 +08:00 via Android
? SQL 用的 RDS ,据说有自动备份文件直接 crontab 10 分钟自动 git pull 一次(((
& & 20:04:57 +08:00
MySQL 从入门到删库跑路
& & 20:06:56 +08:00 via iPhone
取啊,都有的
& & 20:26:42 +08:00
@ @ 应该是这个。。。
& & 20:27:54 +08:00
日备份路过
& & 21:35:39 +08:00
可以用磁盘恢复工具来恢复,能恢复多少算多少
& & 23:05:54 +08:00
bin log 呢?你有完整保留的話,就 ok 了呀2 進制,每一步的寫數據都有記錄...
& & 23:09:59 +08:00
@ 以前佩服许仙董永宁采臣,现在多了一个你……
& & 23:18:00 +08:00 via iPhone
@ 然后我直接 yum 删了 mysql 。。
& & 23:18:48 +08:00 via iPhone
@ 阿里云 ecs 不自动备份 据说是快照策略改了 我真是 b 了狗了。。
& & 23:19:23 +08:00 via iPhone
@ wordpress 。
& & 23:20:06 +08:00 via iPhone
@ 内存盘啊。。还 umount 的了啊。。
& & 23:20:39 +08:00 via iPhone
@ 我有另一个站几乎天天手动备份 这个我都快忘了今天一下 rm 了。。
& & 00:06:36 +08:00
我也弄了个个人小站,不过备份什么的基本每月 1 次,自己写个脚本上传云什么的
& & 00:18:00 +08:00 via Android
@ 是啊所以他们邮件通知改的时候我就立刻重设了只是改了之后反而不好用了,不能设置 3 天+上周日而且说是要收费了。。。╮(╯▽╰)╭希望有免费额度
& & 01:27:13 +08:00
为什么不能做到每月备份 2 次?
& & 07:20:22 +08:00 via Android
@ 配图不错
& & 08:14:59 +08:00 via iPhone
所以说全文 rss feed 还是有必要的。至少 web rss reader 可以帮你备份数据。
& & 09:00:39 +08:00 via Android
learn mysql 从入门到删库跑路你的 mysql 技能已点满
& & 09:06:42 +08:00
mysql 从删库到跑路。。
& & 09:11:02 +08:00
@ 牛 b!!不过你 yum remove mysqld也不会删掉 mysql-bin.xxxxxx 的呀
& & 13:04:44 +08:00
叫你把 innodb 数据放内存盘叫你把 innodb 数据放内存盘叫你把 innodb 数据放内存盘innodb 引擎对普通磁盘做了大量优化,嫌内存多开个巨大的 innodb buffer pool 就好了。放内存里容易导致效率极低
& & 13:19:06 +08:00
吃过好几次亏了。现在每天凌晨自动备份网站文件+数据库到 dropbox ,然后 dropbox 自动同步到电脑。。。
& & 17:15:50 +08:00
@ 是啊,然后我 find 到 mysql 的东西全删了。。
& & 17:16:17 +08:00
最近需要跑路的怎么这么多
& & 18:59:37 +08:00
吓得我赶紧把可读写的数据库连接关了.
& & 19:14:39 +08:00 via Android
围观 asd 删库(逃
& & 20:30:30 +08:00 via iPhone
@ 不太重要 n 个月没更新的博客了。另一个是天天备份的。
& & 18:17:44 +08:00
放内存盘的原因是什么?
& & 19:35:16 +08:00 via iPhone
@ 感觉速度快一些。然后就丢进去了
& & 21:07:34 +08:00
现实版 mysql 从删库到跑路。。。
& · & 2918 人在线 & 最高记录 3762 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 22ms · UTC 07:43 · PVG 15:43 · LAX 00:43 · JFK 03:43? Do have faith in what you're doing.Oracle数据库表里的数据不小心被删除了,怎样恢复?_百度知道
Oracle数据库表里的数据不小心被删除了,怎样恢复?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
有木有开启闪回,归档?如果有闪回可用以下语句恢复: flashback table table_name to timestamp systimestamp-1; (systimestamp-1 这里表示恢复到前一天)
采纳率:62%
如果是删除不久可以用Flashback Query,例如从table1查询一天前的记录select * from table1 as of timestamp sysdate-1;
本回答被提问者采纳
使用闪回,ORACLE 10G及以上版本!
为您推荐:
其他类似问题
您可能关注的内容
艾肯的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Access denied | www.freehao123.com used Cloudflare to restrict access
Please enable cookies.
What happened?
The owner of this website (www.freehao123.com) has banned your access based on your browser's signature (44053bebca28989b-ua98).

我要回帖

更多关于 mysql数据库教程 的文章

 

随机推荐