备份数据库能够保护数据完整性,防止数据丢失,确保在发生硬件故障、误删或数据损坏时能够实现容灾恢复,是十分重要的举措。它还支持数据库迁移、复制,可在需要时回滚至先前状态。
您可使用UQL或ultipa_backup_client
来为运行中的数据库创建备份。备份内容包括用户在Shard服务器创建的图,以及Shard服务器和Meta服务器上的系统全局图。还原备份时,仅支持使用ultipa_backup_client
。
使用UQL
创建备份
创建备份backup-20250101
:
db.backup.create("backup_20250101")
备份创建操作以全局作业形式进行,稍后可使用show().job().global()
验证操作是否完成。
如果指定的备份名称已存在,则创建差异备份;否则将创建完整备份。
显示备份
获取数据库的所有备份:
db.backup.show()
获取指定备份,如名为backup_20250101
的备份:
db.backup.show("backup_20250101")
备份信息呈现在表格_backupList
中,包含以下字段:
字段 |
描述 |
---|---|
backup_name |
备份名称 |
backup_uuid |
备份_uuid |
start_time |
备份开始创建时的时间戳 |
end_time |
备份结束创建时的时间戳 |
status |
备份当前状态,包括DONE 、RUNNING 和FAILED |
msg |
备份创建过程中的报错信息 |
backup_infos |
各图集的备份信息,包括:
注意: db_backup_path 的默认设置为backup_data 。可在容器的默认工作目录下找到该目录 |
使用客户端
嬴图备份客户端(ultipa_backup_client
)是一款跨平台(Windows/Mac/Linux)命令行界面工具,专为嬴图数据库设计,用来管理和还原备份。
准备工作
- 命令行工具:
- Linux或MacOS:Bash,Zsh,TCSH
- Windows:PowerShell
- 点击此处下载嬴图备份客户端。无需安装。
以下示例基于Linux的Bash shell环境演示。
进入ultipa_backup_client
所在目录。通过以下命令确保客户端具有可执行权限:
chmod +x ultipa_backup_client
生成配置文件
运行以下命令,生成样本配置文件:
./ultipa_backup_client -sample

执行命令后,会在ultipa_backup_client
所在目录下生成配置文件example.backup.config
。如果目录下已有该文件,数据将被覆盖。
创建备份
创建备份时,需根据实际环境修改example.backup.config
文件中的[server]
部分。
示例:
[server]
; database host (name server address)
host = 192.168.189.129:61060
; database username
username = root
; database password
password = <password>
; backup name (supports only letters, numbers, and underscores)
name = backup_1
创建备份时,不会用到example.backup.config
中的其他设置。
运行以下命令来创建备份:
./ultipa_backup_client -mode backup -config example.backup.config
如果指定的备份名称已存在,则创建差异备份;否则将创建完整备份。

查看备份
运行以下命令来查看所有备份信息:
./ultipa_backup_client -mode backup_info -config example.backup.config

上图省略了backup_info
列信息。可在数据库中执行UQL语句db.backup.show()
来查看备份详情。
还原备份
备份文件可以还原到同个数据库中。
要还原备份,需根据实际环境进一步修改配置文件example.backup.config
。
注意:
[server]
部分的name
必须与[restore]
部分的uuid
相匹配,才能正确识别备份数据。[restore]
部分的shard-data
必须与Shard服务器的dbpath
相匹配(默认值:shard_data
)。[restore]
部分的meta-data
必须与Meta服务器的dbpath
相匹配(默认值:data
)。- 对于Shard、Meta、Name或HDC集群,服务器地址与守护程序地址的顺序必须严格一致;每个Shard中的所有副本都必须包含在内。
- 守护程序地址配置:
- 每个服务器的守护程序地址均在容器
config
目录下的backup.config
文件中配置。该文件在首次启动时自动生成,默认设置为listen = :50051
,并使用主机的主网卡IP地址。 - 如有端口冲突,可修改
backup.config
,格式为ip:port
或:port
。
- 每个服务器的守护程序地址均在容器
- 若未部署HDC服务器,可完全忽略
[hdc]
部分。
示例:
[server]
; database host (name server address)
host = 192.168.189.129:61060
; database username
username = root
; database password
password = <password>
; backup name (supports only letters, numbers, and underscores)
name = backup_1
[restore]
; backup uuid for restore (must match the specified backup name)
uuid = T20250514031515_N1_158_6
; shard server dbpath
shard-data = shard_data
; meta server dbpath
meta-data = data
; shard config for restore
[shard]
; all replica addresses for shard-1
shard1-address = 192.168.189.131:41061,192.168.189.132:41063
; all daemon addresses for shard-1
daemon1-address = 192.168.189.131:50051,192.168.189.132:50051
; all replica addresses for shard-2
shard2-address = 192.168.189.133:41065
; all daemon addresses for shard-2
daemon2-address = 192.168.189.133:50051
; meta config for restore
[meta]
; all meta addresses
meta-address = 192.168.189.130:51060
; all daemon addresses for meta server
daemon-address = 192.168.189.130:50051
; name config for restore
[name]
; all name server addresses
name-address = 192.168.189.129:61060
; all daemon addresses for name server
daemon-address = 192.168.189.129:50051
; hdc config for restore, if exists
[hdc]
; all hdc addresses
hdc-address = 192.168.189.128:56555
; all daemon addresses for hdc sever
daemon-address = 192.168.189.128:50051
运行以下命令,将数据库还原至指定的备份版本:
./ultipa_backup_client -mode restore -config example.backup.config
注意:还原过程中,所有服务器都将停止并重启。

所有标志
ultipa_backup_client
支持以下标志:
标志 |
参数 |
---|---|
-mode |
指定操作模式:backup ,backup_info 或restore |
-config |
指定配置文件路径(默认值:backup.config ) |
-sample |
生成样本配置文件(example.backup.config ) |
-version |
展示ultipa_backup_client 版本 |