2

我不小心清空了一张桌子。我有备份,但是备份的是整个数据库,大约10GB。我怎样才能从备份中恢复一张表?可能吗?

4

2 回答 2

1

来自http://blog.tsheets.com/2008/tips-tricks/mysql-restoring-a-single-table-from-a-huge-mysqldump-file.html

$ awk '/Table structure for table .test1./,/Table structure for table .test2./{print}' mydumpfile.sql > /tmp/extracted_table.sql

于 2012-08-13T20:22:39.460 回答
0

您只需要从备份 SQL 中提取一个表。

您可以使用 sed 执行此操作,例如

sed -n -e '/CREATE TABLE `mytable`/,/CREATE TABLE/p' backup.sql > mytable.sql

(只要它不是转储中的最后一个表(我认为),它就可以工作。输出文件将包含一个额外的行,一个部分 CREATE TABLE 语句。)

于 2012-08-13T19:25:35.580 回答