我可以从MySQL数据库备份中恢复一个表吗?

时间:2012-08-13 18:58:06

标签: mysql

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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

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

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