mysql如何备份多个数据库_mysql多数据库备份方法

来源:这里教程网 时间:2026-02-28 20:30:14 作者:

在MySQL中,有时需要同时备份多个数据库,但不希望逐个执行备份命令。可以通过几种方式高效地实现多数据库备份,以下介绍常用且实用的方法。

使用mysqldump备份指定的多个数据库

mysqldump 支持通过 --databases 参数一次性备份多个数据库。这种方式会为每个数据库生成CREATE DATABASE和USE语句,确保恢复时能正确创建数据库。

命令格式:

mysqldump -u [用户名] -p --databases db1 db2 db3 > backup.sql

示例:

mysqldump -u root -p --databases sales customer inventory > /backup/multi_db_backup.sql

输入密码后,系统会将这三个数据库导出到指定文件中。注意:不需要加引号,数据库名之间用空格分隔。

备份所有数据库(包括系统库)

如果需要备份服务器上所有数据库,可以使用 --all-databases 参数:

mysqldump -u root -p --all-databases > all_databases.sql

这个命令会备份包括mysql、information_schema、performance_schema等在内的所有数据库,适合做全量备份。

动态备份多个特定数据库(脚本方式)

如果你有一组需要定期备份的数据库,但不想每次都手动输入名称,可以编写一个简单脚本自动获取并备份。

示例Shell脚本(backup_selected.sh):

#!/bin/bash
USER="root"
PASS="your_password"
BACKUP_FILE="/backup/selected_dbs_$(date +%F).sql"
DATABASES=("db1" "db2" "app_db") # 指定要备份的数据库名

mysqldump -u"$USER" -p"$PASS" --databases "${DATABASES[@]}" > "$BACKUP_FILE"
echo "备份完成: $BACKUP_FILE"

赋予执行权限并运行:

chmod +x backup_selected.sh
./backup_selected.sh

可将此脚本加入crontab实现定时自动备份。

注意事项与建议

确保备份路径有足够的磁盘空间 避免在生产高峰期执行大型备份,以免影响性能 敏感信息如密码尽量通过配置文件(如 ~/.my.cnf)管理,而不是写在命令行 定期测试备份文件的可用性,确保可成功恢复

基本上就这些。根据实际需求选择合适的方式,既能保证数据安全,又能提高运维效率。

相关推荐