定时数据库备份
定时数据库备份使用 DBX 的数据库导出引擎,为 MySQL 和 PostgreSQL 连接生成 SQL 文件。它适合开发、测试和中小型数据库的周期性逻辑备份,并提供表范围、保留数量、运行历史和手动执行。
如果只需要立即备份一次,可以在设置中使用立即备份,不必创建计划。配置连接、目录、数据库、表范围和备份内容后点击开始备份。一次性备份不会创建或修改计划,不会计算下次执行时间,并会出现在统一的备份历史中。
支持范围
| 项目 | 当前行为 |
|---|---|
| 数据库 | MySQL、PostgreSQL |
| 平台 | DBX 桌面端 |
| 输出 | 默认模板为每次计划运行创建独立目录;目录内按数据库/Schema 生成 .sql 文件,且可通过模板自定义目录与文件名 |
| 频率 | 每隔若干小时、每天指定时间、每周指定星期和时间 |
| 内容 | 表结构、表数据、数据库对象、可选 DROP TABLE IF EXISTS |
| 表范围 | 全部、按模式包含、按模式排除 |
| 保留 | 按计划保留最近若干次成功备份文件 |
立即执行一次备份
打开一次性备份表单
在设置中进入数据库备份页面,点击立即备份。
配置备份范围
选择 MySQL 或 PostgreSQL 连接、备份目录、数据库范围、表范围和备份内容。一次性备份不包含计划名称、执行频率、执行时间、保留数量或启用状态。
开始并确认结果
点击开始备份。任务会使用与定时备份相同的导出引擎、进度、取消和错误处理,并在备份历史中显示。
创建计划
打开备份设置
在设置中进入数据库备份页面,创建新的备份计划。
选择连接和数据库
选择 MySQL 或 PostgreSQL 连接。可以备份所有非系统数据库,也可以选择指定数据库。
配置表范围
选择全部表、只包含匹配模式的表,或排除匹配模式的表。模式支持 * 和 ?,并可以匹配 schema.table 或 database.schema.table。
设置目录与频率
选择本机目标目录,设置由运行目录模板和文件名模板组成的输出路径模板,并配置每小时、每天或每周计划。目录模板支持 {schedule}、{date}、{timestamp} 和 {runId};文件名模板还支持 {database}。DBX 会预览完整输出路径,并自动补齐文件名中缺失的数据库目标。运行 ID 只有在模板中显式填写 {runId} 时才会拼接;如果模板解析出的路径已被其他运行使用,DBX 会拒绝本次运行,避免覆盖已有备份。
选择内容和保留数量
选择结构、数据、对象和 DROP TABLE IF EXISTS,然后设置要保留的历史备份数量。
保存并验证
保存后先点击立即运行,确认连接权限、表范围、目标目录和生成文件都符合预期,再启用计划。
表匹配模式
表模式可以使用逗号、分号或换行分隔。例如:
public.*
audit_*
orders_202?- 包含只导出匹配表
- 排除导出其他表并跳过匹配表
- PostgreSQL 名称按大小写区分
- MySQL 会结合
lower_case_table_names判断匹配是否区分大小写
如果没有任何表匹配包含规则,运行会失败,不会生成空的成功备份。
一致性与执行方式
每次备份会在数据库会话中建立一致性快照,再按数据库/Schema 运行导出。完成后回滚只读快照事务,不提交业务修改。
备份任务会显示在统一导出任务区,并提供:
- 当前数据库和对象
- 成功、失败或取消状态
- 手动或计划触发来源
- 生成文件列表
- 错误信息和运行时间
取消只会停止后续导出。失败或取消时,DBX 会尽量删除本次已经生成的部分文件,避免把不完整结果误当成成功备份。
保留与历史
每个计划可以设置保留数量。超过数量的旧运行会从历史中清理,并删除相应文件。默认运行目录会使用唯一运行 ID;也可按实际需要自定义目录模板。也可以手动删除某次备份记录和文件。
恢复演练
MySQL 兼容连接支持从单个 .sql 或 .sql.gz 备份中恢复指定表。在备份历史中展开文件列表并点击恢复,将恢复范围切换为指定表。扫描完成后,可以搜索并勾选表,再执行恢复。列表来自完整备份文件,因此目标数据库尚不存在的表也能选择;跨数据库同名表会分别显示。
指定表模式仅恢复所选表的结构、索引和数据,不恢复视图、存储过程、函数、触发器或事件。文件中的数据库上下文仍然生效,未显式指定数据库的表使用弹窗所选的目标数据库。现有外键或触发器可能影响恢复;需要完整恢复所有对象时选择全部内容。遇到无法确定作用范围的语句时,DBX 会在执行前拒绝选择性恢复。
生成的 .sql 文件可以通过 SQL 文件执行 导入。建议定期在隔离环境验证:
- 文件可以完整读取和执行
- 表结构、索引、对象和数据量符合预期
- 字符集、时区、序列/自增值和权限需要的额外步骤
- 应用可以连接恢复后的数据库
备份成功只代表文件生成完成,不代表已经验证可恢复。
选择定时备份还是数据库导出
| 功能 | 适合场景 |
|---|---|
| 数据库导出 | 一次性迁移、变更前备份、手动选择当前范围 |
| 定时数据库备份 | 固定连接和范围的周期性逻辑备份 |
| 数据库原生备份 | 大型生产库、PITR、增量/物理备份、高可用与合规要求 |
安全建议
- 使用只具备备份所需读取权限的数据库账号
- 目标目录按敏感数据级别控制权限和加密
- 不要把包含业务数据的 SQL 文件提交到公开仓库
- 计划中数据库或表改名后,重新检查范围
- DBX 桌面端未运行、电脑休眠或目标目录不可用时,计划不会像服务器调度器一样可靠执行