Warm tip: This article is reproduced from serverfault.com, please click

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

(backup - Can I restore a single table from a full mysql mysqldump file?)

发布于 2009-06-18 16:50:32

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

Questioner
Mobius
Viewed
0
4,914 2020-08-30 05:13:52

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

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

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

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

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