繁体   English   中英

从`-all-databases'mysql dump恢复特定的数据库

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM