从–all-databases转储导入单个数据库
可以从–all-databases mysqldump中导入单个数据库吗? 我想我可以手动修改文件,但想知道是否有任何命令行选项来做到这一点。
我正在移动服务器,并有许多数据库,其中大部分我目前不需要或想要,但如果需要的话,想要恢复单个数据库。
mysqldump
输出只是一组SQL
语句。
您可以在命令行中提供所需的数据库,并使用以下命令跳过针对其他数据库的命令:
mysql -D mydatabase -o < dump.sql
这只会在使用mydatabase
时执行命令
您可以使用以下命令:
mysql -u root -p --one-database destdbname < alldatabases.sql
destdbname
是你想要恢复的数据库。
IMHO更安全的另一个选项是从--all-databases
转储中提取--all-databases
。 例:
sed -n '/^-- Current Database: `dbname`/,/^-- Current Database: `/p' alldatabases.sql > output.sql
用所需的数据库名称replacedbname
。 alldatabases.sql
是你的sql-dump文件的名字。 这样你就可以将分离的数据库存档,然后使用简单的mysql命令进行恢复。
祝你好运
(学分去:达伦Mothersele – 见他的网页 )