我是用mysqldump进行备份的,备份生成的sql文件,这个文件大概有800多M,当我想还原某个表数据,只能打开那个大的文件,找到对应表,在把insert into语句copy出来, 单独执行,这个过程非常慢,特别是对备份大文件,而且还原表也是,如果这个表数据有几百M,复制出来的insert into 语句特别多,经常会死掉。有什么好的办法从备份文件中快速还原某个表?

解决方案 »

  1.   

    我也遇到过这种问题. 但我那文件只有300多MB.
    我用EmEditor来编辑dump文件的,速度还凑合, 比UE快多了. 但是要看你dump文件每行的长度....
    不知道是不是你要的答案..
    或者楼上说的方法也挺好的..
      

  2.   

    对了, 该文件的时候不要做ctrl+c的操作, 你先备份一个dump文件,然后在里面进行删除的操作.不要做复制的操作哦. 这样快多了.. ^____^
      

  3.   

    开始--运行--CMD
    输入
    find "back" < c:\cpc0629.sql > c:\area.txt
    这样将把c:\cpc0629.sql文件里,包含BACK文字的,输出到c:\area.txt。不知道能否解决你的问题。WINDOWS下的。
      

  4.   

    表yourtable 数据库 yourdb 备份文件your-backup.sql,您可以在命令后加>filename.sql转向到文件,也可以直接加| mysql yourdb来直接执行哈!# 获取表结构
    sed -e '/./{H;$!d;}' -e 'x;/CREATE TABLE `yourtable`/!d;q' your-backup.sql
    # 获取表纪录
    grep 'INSERT INTO `yourtable`' your-backup.sql
      

  5.   

    没有办法,这个不是MYSQL数据库方面的问题,是如何从一个文本文件中取出需要的部分内容的问题。 从数据库角度来说,没有什么好办法。你可以使用操作系统中的文本编辑处理工具来实现。