Hubble数据库数据备份

BACKUP语句用于备份整个数据库或者部分表进行完整备份或增量备份,同时支持指定时间戳备份。

备份语法

BACKUP <targets...> INTO <location...>
       [ AS OF SYSTEM TIME <expr> ]
       [ INCREMENTAL FROM <location...> ]
       [ WITH <option> [= <value>] [, ...] ]

参数说明

  • location 指定存储备份的目录
  • AS OF SYSTEM TIME <TIMESTAMP> 可以指定备份截止日期时间
  • INCREMENTAL FROM <full_backup_location> 增量备份

注意:
只有admin角色用户可以运行BACKUP备份命令
如表存在外键约束,序列,视图,交错表。必须同时备份其依赖的对象
恢复的表从目标数据库继承特权授予;它们不保留来自备份表的特权授予,因为恢复集群可能有不同的用户。

备份数据location说明

备份路径拥有2种模式,http和NFS模式,推荐使用NFS稳定性和速度更优
每个备份的路径必须是唯一的,备份的目的地/位置的URL必须使用以下格式:

[scheme]://[host]/[path]?[parameters]
类型schemahost参数示例
httphttp主机地址N/Ahttp://localhost:8080/mydatest
NFS/Localnodelocal节点ID或为空N/Anodelocal://n/path/mydatest

全量备份示例

全量备份生成的备份数据,大概与集群存储占用容量相同。

  • 备份集群
backup into 'nodelocal://1/backup'; 
  • 备份整个数据库
backup database guar into 'nodelocal://1/backup_datadb'; 
  • 备份某几张表
backup guar.trans,guar.tb_bs into 'nodelocal://1/backup_data'    

增量备份

  • 增量备份整个数据库
backup database guar into 'nodelocal://1/backup_db' incremental from 'nodelocal://1/backup_data';

指定时间戳备份

backup database guar into 'nodelocal://1/backup_data'  AS OF SYSTEM TIME '-20s' WITH revision_history;

注意:
推荐使用nfS共享存储模式
使用nfs模式必须在hubble.service文件中 ExecStart 启动中指定外部⽬录 --external-io-dir=/data_shares