我在 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
在哪里某个数据库是要提取的数据库的名称。