如何从集体备份中恢复一个 mysql 数据库

如何从集体备份中恢复一个 mysql 数据库

我有一个使用 --all-databases 选项的计划 mysqldump 任务。这会将所有数据库包含在一个文件中。

我如何告诉 mysql 导入转储文件中包含的其中一个数据库?

-M


谢谢大家的回答。非常感谢……我最终没有使用 --all-databases 选项。以下是替代脚本:

#! /bin/bash
date=`date +%A`
for i in /var/lib/mysql/*/; do
dbname=`basename $i`
mysqldump -u <whatever username> --password=<whatever pw>--single-transaction $dbname > <path>/$date/$dbname-backup.sql
done

答案1

编辑转储文件以提取与感兴趣的数据库相关的语句,或者将整个转储加载到临时数据库服务器中并仅转储感兴趣的数据库。

这就是为什么知情人士将他们的数据库转储到单独的文件中。

答案2

这是另一个修改。

for i in $(mysql -N -e 'show databases' -uroot -p'password' ); do mysqldump -uroot -p'password' $i | gzip -9c > /root/backups/$i\_$(date +\%Y-\%m-\%d_\%Hh\%M).sql.gz; done

相关内容