从Mysql dump file中抽取特定表

最近粗心把数据库一张表的内容更新错了,需要从每日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整行的内容

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容