一尘不染

我可以从完整的mysql mysqldump文件还原单个表吗?

mysql

我有我的mysql数据库的mysqldump备份,该数据库由我们的所有表组成,大约440兆。我想从mysqldump恢复仅其中一张表的内容。这可能吗?从理论上讲,我可以剪掉重建所需表的部分,但我什至不知道如何有效地编辑该大小的文本文档。


阅读 374

收藏
2020-05-17

共1个答案

一尘不染

您可以尝试使用sed以便仅提取所需的表。

假设表的名称为mytable,文件mysql.dump是包含您的大型转储的文件:

$ sed -n -e '/CREATE TABLE.*`mytable`/,/CREATE TABLE/p' mysql.dump > mytable.dump

这将在文件中复制mytable.dump位于CREATE TABLE mytable与下CREATE TABLE一个表相对应的下一个之间的内容。

然后,您可以调整mytable.dump包含表结构mytable和数据(的列表INSERT)的文件。

2020-05-17