Hubble数据库数据备份

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

备份语法

BACKUP <table_pattern [,table_pattern]>||<DATABASE> db_name TO destination
[AS OF SYSTEM TIME <TIMESTAMP> 
[INCREMENTAL FROM <full_backup_location> ]

参数说明

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

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

备份数据路径destination 说明

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

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

全量备份示例

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

  • 备份整个数据库
backup database zl to 'nodelocal:///k2/f3_1'; 
  • 备份某几张表
backup zl.tt,zl.f2 to 'nodelocal:///zl_t_bak'    

增量备份

  • 增量备份整个数据库
backup database zl to 'nodelocal:///k2/f3_3' incremental FROM 'nodelocal:///k2/f3_1';
  • 增量备份某几张表
backup zl.tt,zl.f2 to 'nodelocal:///zl_t_bak_2' incremental from 'nodelocal:///zl_t_bak';   

指定时间戳备份

backup database zl to 'nodelocal:///k2/f3_5' AS OF SYSTEM TIME '-20s';  --备份20s之前的数据

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