备份管理
KaiwuDB 支持对时序数据和关系数据进行不同粒度的全量备份和增量备份:
- 引擎级备份:备份整个时序引擎或关系引擎下所有数据库
- 数据库级备份:备份指定数据库下所有表
- 表级备份:备份指定的时序表或关系表
备份操作通过 BACKUP SQL 语句执行,支持通过作业管理进行监控和控制。有关作业管理的详细信息,参见作业管理。
创建备份任务
所需权限
- 非三权分立模式下,用户是
admin角色的成员。默认情况下,root用户属于admin角色。 - 三权分立模式下,用户是
sysadmin角色的成员。默认情况下,sysroot用户属于sysadmin角色。
语法格式

参数说明
| 参数 | 描述 |
|---|---|
database_name | 要备份的数据库名称 |
table_name | 要备份的表名称 |
target_path | 备份文件存储路径,格式为 nodelocal://<node_id>/<dir>,表示将文件导出至本地节点。其中:- node_id 为节点 ID。本地只有一个节点时,node_id 取值为 1- dir 为存放备份文件的文件夹名称。系统会在 KaiwuDB 数据目录下的 extern 目录自动创建相应的文件夹。默认数据目录为 /var/lib/kaiwudb/ |
backup_path_list | 已完成的备份存储路径。注意:执行增量备份时,需按时间顺序列出之前所有已完成的备份路径,路径之间用逗号分隔 |
返回字段说明
| 字段 | 描述 |
|---|---|
job_id | 备份任务 ID |
status | 备份任务的执行状态 |
fraction_completed | 备份任务的完成进度,取值范围为 0-1,其中 1 表示 100% |
rows | 本次备份的数据行数 |
index_entries | 本次备份的索引数(仅用于集群级备份,当前版本不适用) |
bytes | 本次备份的数据大小(字节) |
语法示例
全量备份
备份时序引擎:
BACKUP TS ENGINE TO "nodelocal://1/backup_ts";备份关系引擎:
BACKUP RELATIONAL ENGINE TO "nodelocal://1/backup_r";备份数据库:
BACKUP DATABASE db1 TO "nodelocal://1/backup_db1";备份表:
BACKUP TABLE t1 TO "nodelocal://1/backup_t1";
增量备份
备份时序引擎:
BACKUP TS ENGINE TO "nodelocal://1/backup_ts_inc/backup_ts_inc2" INCREMENTAL FROM "nodelocal://1/backup_ts_inc/backup_ts", "nodelocal://1/backup_ts_inc/backup_ts_inc1";备份关系引擎:
BACKUP RELATIONAL ENGINE TO "nodelocal://1/backup_r_inc/backup_r_inc2" INCREMENTAL FROM "nodelocal://1/backup_r_inc/backup_r", "nodelocal://1/backup_r_inc/backup_r_inc1";备份数据库:
BACKUP DATABASE db1 TO "nodelocal://1/backup_db1_inc/backup_db1_inc2" INCREMENTAL FROM "nodelocal://1/backup_db1_inc/backup_db1", "nodelocal://1/backup_db1_inc/backup_db1_inc1";备份表:
BACKUP TABLE t1 TO "nodelocal://1/backup_t1_inc/backup_t1_inc2" INCREMENTAL FROM "nodelocal://1/backup_t1_inc/backup_t1", "nodelocal://1/backup_t1_inc/backup_t1_inc1";