将单个表从mysqldump数据库备份还原到同一数据库中的其他表?

时间:2010-03-09 20:32:56

标签: mysql restore mysqladmin

我有一个3.5gb的数据库转储。有没有办法在不编辑文件的情况下,只使用该文件将一个表恢复到同一数据库中不同名称的表,使用mysqladmin,或者在FreeBSD 6上运行的其他常用命令行应用程序?

2 个答案:

答案 0 :(得分:1)

您需要在restore-db中创建表并运行类似:

的内容
grep "^INSERT INTO table" dump-file | mysql -u user -p restore-db

首先确保您的模式匹配正确。

答案 1 :(得分:1)

cat THE_DUMP_FILE.SQL | sed -n "/^-- Table structure for table \`THE_TABLE_NAME\`/,/^-- Table structure for table/p" > THE_OUTPUT_SQL_FILE_NAME

我在谷歌上搜索了一段时间,这个解决方案对我很有用,而且似乎是大型转储文件的最快解决方案之一,我从以下方面得到了这个想法:   http://code.openark.org/blog/mysql/on-restoring-a-single-table-from-mysqldump