我有我的mysql数据库的mysqldump备份,该数据库由我们的所有表组成,大约440兆。我想从mysqldump恢复仅其中一张表的内容。这可能吗?从理论上讲,我可以剪掉重建所需表的部分,但我什至不知道如何有效地编辑该大小的文本文档。
您可以尝试使用sed以便仅提取所需的表。
假设表的名称为mytable,文件mysql.dump是包含您的大型转储的文件:
mytable
$ sed -n -e '/CREATE TABLE.*`mytable`/,/CREATE TABLE/p' mysql.dump > mytable.dump
这将在文件中复制mytable.dump位于CREATE TABLE mytable与下CREATE TABLE一个表相对应的下一个之间的内容。
mytable.dump
CREATE TABLE mytable
CREATE TABLE
然后,您可以调整mytable.dump包含表结构mytable和数据(的列表INSERT)的文件。
INSERT