dbx/docs/content/docs/database-backup.cn.mdx

138 lines
5.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 定时数据库备份
description: 在 DBX 桌面端为 MySQL 和 PostgreSQL 创建可手动运行或按小时、每天、每周执行的 SQL 备份计划。
---
定时数据库备份使用 DBX 的数据库导出引擎,为 MySQL 和 PostgreSQL 连接生成 SQL 文件。它适合开发、测试和中小型数据库的周期性逻辑备份,并提供表范围、保留数量、运行历史和手动执行。
<Callout type="warn">定时备份当前仅支持 DBX 桌面端并要求应用保持运行。它不是数据库服务器上的独立调度器也不能替代物理备份、Point-in-Time Recovery、WAL/binlog 归档或云厂商备份服务。</Callout>
## 支持范围
| 项目 | 当前行为 |
| --- | --- |
| 数据库 | MySQL、PostgreSQL |
| 平台 | DBX 桌面端 |
| 输出 | 每个数据库/Schema 对应的 `.sql` 文件 |
| 频率 | 每隔若干小时、每天指定时间、每周指定星期和时间 |
| 内容 | 表结构、表数据、数据库对象、可选 `DROP TABLE IF EXISTS` |
| 表范围 | 全部、按模式包含、按模式排除 |
| 保留 | 按计划保留最近若干次成功备份文件 |
## 创建计划
<Steps>
<Step>
### 打开备份设置
在设置中进入数据库备份页面,创建新的备份计划。
</Step>
<Step>
### 选择连接和数据库
选择 MySQL 或 PostgreSQL 连接。可以备份所有非系统数据库,也可以选择指定数据库。
</Step>
<Step>
### 配置表范围
选择全部表、只包含匹配模式的表,或排除匹配模式的表。模式支持 `*` 和 `?`,并可以匹配 `schema.table` 或 `database.schema.table`。
</Step>
<Step>
### 设置目录与频率
选择本机目标目录,并设置每小时、每天或每周计划。界面会预览下次运行时间。
</Step>
<Step>
### 选择内容和保留数量
选择结构、数据、对象和 `DROP TABLE IF EXISTS`,然后设置要保留的历史备份数量。
</Step>
<Step>
### 保存并验证
保存后先点击**立即运行**,确认连接权限、表范围、目标目录和生成文件都符合预期,再启用计划。
</Step>
</Steps>
## 表匹配模式
表模式可以使用逗号、分号或换行分隔。例如:
```text
public.*
audit_*
orders_202?
```
- **包含**只导出匹配表
- **排除**导出其他表并跳过匹配表
- PostgreSQL 名称按大小写区分
- MySQL 会结合 `lower_case_table_names` 判断匹配是否区分大小写
如果没有任何表匹配包含规则,运行会失败,不会生成空的成功备份。
## 一致性与执行方式
每次备份会在数据库会话中建立一致性快照,再按数据库/Schema 运行导出。完成后回滚只读快照事务,不提交业务修改。
备份任务会显示在统一导出任务区,并提供:
- 当前数据库和对象
- 成功、失败或取消状态
- 手动或计划触发来源
- 生成文件列表
- 错误信息和运行时间
取消只会停止后续导出。失败或取消时DBX 会尽量删除本次已经生成的部分文件,避免把不完整结果误当成成功备份。
## 保留与历史
每个计划可以设置保留数量。超过数量的旧运行会从历史中清理,并删除相应文件。也可以手动删除某次备份记录和文件。
<Callout type="warn">目标目录仍应纳入操作系统、NAS 或对象存储的独立备份。单机同盘保存无法防止磁盘损坏、勒索软件或整机丢失。</Callout>
## 恢复演练
生成的 `.sql` 文件可以通过 [SQL 文件执行](/cn/docs/sql-file) 导入。建议定期在隔离环境验证:
- 文件可以完整读取和执行
- 表结构、索引、对象和数据量符合预期
- 字符集、时区、序列/自增值和权限需要的额外步骤
- 应用可以连接恢复后的数据库
备份成功只代表文件生成完成,不代表已经验证可恢复。
## 选择定时备份还是数据库导出
| 功能 | 适合场景 |
| --- | --- |
| [数据库导出](/cn/docs/database-export) | 一次性迁移、变更前备份、手动选择当前范围 |
| 定时数据库备份 | 固定连接和范围的周期性逻辑备份 |
| 数据库原生备份 | 大型生产库、PITR、增量/物理备份、高可用与合规要求 |
## 安全建议
- 使用只具备备份所需读取权限的数据库账号
- 目标目录按敏感数据级别控制权限和加密
- 不要把包含业务数据的 SQL 文件提交到公开仓库
- 计划中数据库或表改名后,重新检查范围
- DBX 桌面端未运行、电脑休眠或目标目录不可用时,计划不会像服务器调度器一样可靠执行
<Cards>
<Card title="一次性数据库导出" href="/cn/docs/database-export">
手动选择结构、数据、对象和数据库范围。
</Card>
<Card title="恢复 SQL 文件" href="/cn/docs/sql-file">
执行备份文件并查看语句级进度与错误。
</Card>
<Card title="生产安全" href="/cn/docs/production-safety">
使用只读账号、生产保护和最小权限策略。
</Card>
</Cards>