免费注册 查看新帖 |

Chinaunix

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

mysql部分数据恢复的问题...有点困惑不知道怎么做起 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-20 17:42 |只看该作者 |倒序浏览
描述下问题:

跑了一个论坛,有段时间因为数据库崩溃,造成帖子表里面大概有30多w的数据message字段变空(也就是帖子内容的字段),前台看起来就是一个空白的帖子,但是后面的其他数据都没有问题。

我有备份文件,但是备份文件还包含其他未出错的数据。

另一个问题,并不是前34万数据丢失,而是穿插了有一部分丢失,大概是34万条。

通过这个语句,可以从现数据库里把空数据调出来:
  1. SELECT *
  2. FROM `posts`
  3. WHERE `message` = '  '
复制代码


但是如何从备份系统里面把同样的数据调出来,然后替换掉message字段呢?

我可以用select pid,调出34w个pid,但是问题在于,如何在备份库里根据这34万个pid调出message?用34万个or?别说mysql了...就连ssh远程都贴不过去....mysqldump我也看了,貌似没有指定select语句文件的功能。何况这么多or一执行,mysql估计得死翘翘了吧...

特来求一个思路...mysql不太熟悉,真的很郁闷....

[ 本帖最后由 baalchina 于 2009-8-20 17:44 编辑 ]

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
2 [报告]
发表于 2009-08-20 17:59 |只看该作者
呵呵,不要猜想了。

mysqldump可以用-w加条件。
把两个表放到一个库里一个update语句就可以了。

论坛徽章:
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
3 [报告]
发表于 2009-08-20 18:01 |只看该作者
将备份导入到一个表中
然后根据pid来update

论坛徽章:
0
4 [报告]
发表于 2009-08-20 18:22 |只看该作者
谢谢。
我知道mysqldump有where啊,但是当我需要从备份表中读取出丢失字段的那34w条数据的时候,这个where怎么用?

只有一条数据,我可以wpid='1',但是我有很多很多的数据...怎么用where呢....

论坛徽章:
0
5 [报告]
发表于 2009-08-21 09:44 |只看该作者

回复 #1 baalchina 的帖子

不知你的pid是怎么取值的,但表中会有update_date or input_date 之类的字段吧,可作为条件。

论坛徽章:
0
6 [报告]
发表于 2009-08-21 09:55 |只看该作者

回复 #1 baalchina 的帖子

update aa set pid=(select pid from bb where bb.col_name=aa.col_name);

论坛徽章:
0
7 [报告]
发表于 2009-08-21 11:52 |只看该作者
原帖由 ruochen 于 2009-8-20 18:01 发表
将备份导入到一个表中
然后根据pid来update

我觉得这是个好办法

论坛徽章:
1
2015-2016NBA季后赛纪念章
日期:2016-06-28 17:44:17
8 [报告]
发表于 2009-08-21 12:21 |只看该作者
把两个备份的表改名放到同一个库中,update
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP