小编典典

我可以从完整的 mysql mysqldump 文件中恢复单个表吗?

all

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


阅读 67

收藏
2022-06-11

共1个答案

小编典典

您可以尝试使用 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)的文件。

2022-06-11