免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5843 | 回复: 8
打印 上一主题 下一主题

数据表内容一个个删除后 mysql数据恢复 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-07 15:05 |只看该作者 |倒序浏览
听说mysql删除数据并不直接删除记录 而只是把其记录标志置0
除非repair table或optimize才真正删除记录
是这样吗?

那现在myi myd frm 文件都存在的话 用什么办法恢复数据呀

[ 本帖最后由 silasoni 于 2010-1-8 01:49 编辑 ]

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
2 [报告]
发表于 2010-01-07 17:57 |只看该作者
说说你是怎么删除的吧

drop table后你还有myi、myd、frm这些文件?
难道是truncate?

论坛徽章:
0
3 [报告]
发表于 2010-01-07 20:09 |只看该作者
是这么回事
某员工对公司不满 离开公司后在网站后台里把所有资料一个个删除

本来以为mysqlbinlog可以救 但好像mysqlbinlog好像恢复不了id

论坛徽章:
0
4 [报告]
发表于 2010-01-07 20:29 |只看该作者
我是兼职在这家公司做开发的
没有自觉地去备份数据是我的失职啊

phpmyadmin里
类型 用法
数据 249,624 字节
索引 2,048 字节
多余 249,624 字节
有效 2,048 字节
统计 251,672 字节

好像数据还是留下来了 不知是不是这样
如果把数据表优化了才把记录真正的去删除 不知道我想法对不对

[ 本帖最后由 silasoni 于 2010-1-7 20:30 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2010-01-08 12:16 |只看该作者
  哪位大侠知道哦?给点提示也好啊

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
6 [报告]
发表于 2010-01-09 11:54 |只看该作者
原帖由 silasoni 于 2010-1-7 20:29 发表
我是兼职在这家公司做开发的
没有自觉地去备份数据是我的失职啊

phpmyadmin里
类型 用法
数据 249,624 字节
索引 2,048 字节
多余 249,624 字节
有效 2,048 字节
统计 251,672 字节

...


没有备份还真不好办啊~~~
就算数据文件保留下来了,也不能保证数据的完整性。
而且需要完全了解mysql数据文件的文件结构,才能很有效的恢复数据。

论坛徽章:
0
7 [报告]
发表于 2010-01-11 13:04 |只看该作者
对于Innodb是你说的那样。但那个Delete后会被Purge进程清理。
如果想通过文件恢复,除非具备马上关闭数据库的环境。

另外,Binlog是可以恢复的。可以找人帮你恢复一下。

论坛徽章:
6
水瓶座
日期:2014-06-04 03:34:37水瓶座
日期:2014-06-17 13:20:31数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-17 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
8 [报告]
发表于 2010-02-05 16:32 |只看该作者
我最近在研究mysql的数据修复。得看你的数据库系统内部的清理程度了。

论坛徽章:
0
9 [报告]
发表于 2010-02-05 17:12 |只看该作者
是myisam的话,可以通过文件系统上的恢复。好运!!!
请看大头刚的测试
http://www.bigheaddba.net/articl ... yisam%e8%a1%a8.html


如果binlog为statement的话,恢复需要之前插入数据时的binlog文件才行;如果为row的话,可以恢复的,因为row是记录数据,而不是语句;


如果innodb的话,可能要试下Coolriver老大说的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP