使用mysqldump可高效备份多个MySQL数据库,通过–databases参数指定多个库或–all-databases备份全部,结合–no-data或–no-create-info控制导出内容,并建议添加时间戳避免文件覆盖,确保数据安全。

在 MySQL 中备份多个数据库的数据,可以通过多种方式实现。最常用的方法是使用 mysqldump 工具,它支持同时导出多个数据库甚至所有数据库,操作简单且可靠。
使用 mysqldump 备份多个指定数据库
如果你只想备份几个特定的数据库,可以使用 –databases 参数列出这些库:
mysqldump -u 用户名 -p --databases 数据库1 数据库2 数据库3 > backup.sql
执行后会提示输入密码,完成后所有指定数据库的结构和数据都会保存到 backup.sql 文件中。
备份所有数据库
如果需要备份整个 MySQL 实例中的所有数据库(包括系统库如 mysql、information_schema 等),使用 –all-databases 参数:
mysqldump -u 用户名 -p --all-databases > full_backup.sql
这种方式适合做全量备份,便于灾难恢复。
只备份结构或只备份数据
根据需求,你也可以控制导出内容:
- –no-data:只导出表结构,不导出数据
- –no-create-info:只导出数据,不导出建表语句
例如只备份多个库的结构:
mysqldump -u 用户名 -p --databases db1 db2 --no-data > schema_only.sql
添加时间戳避免文件覆盖
建议在备份文件名中加入日期时间,防止重复覆盖:
mysqldump -u 用户名 -p --databases db1 db2 > backup_$(date +%Y%m%d_%H%M%S).sql
在 linux 终端中这样执行可自动生成带时间的文件名。
基本上就这些。只要权限正确,命令清晰,多库备份并不复杂,关键是定期执行并妥善保存备份文件。