[英]Recover specific database from `-all-databases` mysql dump
正如标题所述,在完整的mysql备份之后:
mysqldump -uuser -ppass --all-databases > all-dbs.sql
如何从该转储中仅还原特定数据库? 就像是?
mysql -uuser -ppass --restore-db-from-alldbs-backup specific_db < all-dbs.sql
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.