同时备份多个数据库
时间: 2023-07-16 20:14:47 浏览: 156
备份多个数据库通常有两种方法:
1. 手动备份:逐个登录每个数据库,使用备份工具进行备份。这种方法适用于数据库数量较少的情况。
2. 脚本备份:编写脚本,批量备份多个数据库。这种方法适用于数据库数量较多的情况。
下面是一个备份多个 MySQL 数据库的脚本示例:
```
#!/bin/bash
# 备份目录
backup_dir="/data/backup"
# MySQL 登录信息
db_user="root"
db_password="password"
db_host="localhost"
db_port="3306"
# 备份数据库列表
db_list=("db1" "db2" "db3")
# 创建备份目录
if [ ! -d "$backup_dir" ]; then
mkdir -p "$backup_dir"
fi
# 遍历备份数据库列表,逐个备份
for db_name in ${db_list[@]}; do
# 备份文件名
backup_file="${backup_dir}/${db_name}-$(date +%Y%m%d).sql.gz"
# 备份命令
mysqldump -u$db_user -p$db_password -h$db_host -P$db_port \
--single-transaction --routines --triggers --events $db_name \
| gzip > $backup_file
# 输出备份结果
if [ -f "$backup_file" ]; then
echo "Backup $db_name succeeded: $backup_file"
else
echo "Backup $db_name failed"
fi
done
```
这个脚本会备份 `db1`、`db2` 和 `db3` 三个数据库,备份文件会保存到 `/data/backup` 目录下,文件名格式为 `数据库名-日期.sql.gz`。备份命令使用 `mysqldump` 工具,备份选项包括 `--single-transaction`、`--routines`、`--triggers` 和 `--events`。备份结果会输出到控制台。
阅读全文