从Mysql dump file中抽取特定表

2017-04-02  本文已影响0人  0134

最近粗心把数据库一张表的内容更新错了,需要从每日mysqldump 文件中提取出改表的建表语句和插入语句,来恢复数据。我从stackoverflow上搜索到两种解决方法:

第一种方法, 建立一个临时的库,将dump 导入进去,然后再导出需要的表。这种方法操作做简单,也不容易出错。但是因为要导入整个库,十分耗时。

方法二,利用sed命令

sed -n -e  '/DROP TABLE.* `tablename`/, /UNLOCK TABLES/p'  dump.sql  tabledump.sql

这是命令利用sed 来模拟grep 命令. 通过下面的命令形式来指定sed要去检阅和修改的行。

sed '/pattern/p'   #一定要接/p 指令,不然会报错

sed '/pattern/p' file.txt   #这条命令会输出符合这个pattern整行的内容

上一篇 下一篇

猜你喜欢

热点阅读