从完整的 mysqldump 中有选择地恢复特定的数据库

从完整的 mysqldump 中有选择地恢复特定的数据库

我在 VPS 上存储了多个 Wordpress 数据库。我使用以下命令来备份它们:

# mysqldump -u root -p password --all-databases > /tmp/all-database.sql

这将创建一个文件。有没有办法从此转储中恢复特定数据库?

答案1

您可以使用该--one-database选项

忽略除默认数据库是命令行上命名的数据库时出现的语句之外的语句。此选项比较初级,应谨慎使用。语句过滤仅基于 USE 语句。

所以

mysql -u someone -p somedatabase <all.sql 

应该按照你想要的方式工作,并且保证合理的安全,但请注意上面的重点,并阅读文档中的注释

不过,从转储中提取所需的数据库可能更安全。例如

sed -n '/^-- Current Database: somedatabase/,/^-- Current Database: `/p' all.sql > somedatabase.sql

在哪里某个数据库是要提取的数据库的名称。

相关内容