正如标题所说,在完成一个完整的mysql备份之后:
mysqldump -uuser -ppass --all-databases > all-dbs.sql
如何从该转储中仅恢复特定数据库?有点像?
mysql -uuser -ppass --restore-db-from-alldbs-backup specific_db < all-dbs.sql
答案 0 :(得分:1)
MySQL没有提供自动执行此操作的工具。
以下示例输出test
数据库但跳过其他数据库。
awk 'BEGIN { do_print=1; } \
/^CREATE DATABASE/ || /^USE / { \
if (match($0, "`test`")) { do_print=1; }
else { do_print=0; } } \
{ if (do_print) { print; } }' all_dbs.sql \
| mysql -uuser -ppass
您可能还想考虑使用mydumper,它为所有表输出单个文件,因此可以轻松恢复所需的文件。另请参阅更好的文档:http://centminmod.com/mydumper.html