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