BACKUP
StarRocks 支持备份及恢复以下对象:
- 内部数据库、表(所有类型和分区策略)和分区
- External Catalog 的元数据(自 v3.4.0 开始支持)
- 同步物化视图和异步物化视图
- 逻辑视图(自 v3.4.0 开始支持)
- UDF(自 v3.4.0 开始支持)
提示
有关备份和恢复的概述,请参阅 备份和恢复指南 中。
数据备份为异步操作。您可以通过 SHOW BACKUP 语句查看备份作业状态,或通过 CANCEL BACKUP 语句取消备份作业。作业成功后,您可以通过 SHOW SNAPSHOT 查看特定仓库对应的数据快照信息。
注意
- StarRocks 存算分离集群不支持数据备份和恢复。
- 单一数据库内,仅可同时执行一个备份或恢复作业,否则系统报错。
- 目前 StarRocks 不支持在备份数据时使用压缩算法。
权限要求
3.0 之前的版本中,拥有 admin_priv 权限才可执行此操作。3.0 及之后的版本中,如需备份指定数据表或整个数据库,需要拥有 System 级的 REPOSITORY 权限,以及对应表或对应数据库下所有表的 EXPORT 权限。例如:
-
授予角色从指定的表中导出数据的权限。
GRANT REPOSITORY ON SYSTEM TO ROLE backup_tbl;
GRANT EXPORT ON TABLE <table_name> TO ROLE backup_tbl; -
授予角色从指定数据下所有表中导出数据的权限。
GRANT REPOSITORY ON SYSTEM TO ROLE backup_db;
GRANT EXPORT ON ALL TABLES IN DATABASE <database_name> TO ROLE backup_db; -
授予角色从所有数据库的所有表中导出数据的权限。
GRANT REPOSITORY ON SYSTEM TO ROLE backup;
GRANT EXPORT ON ALL TABLES IN ALL DATABASES TO ROLE backup;
语法(兼容先前版本)
BACKUP SNAPSHOT <db_name>.<snapshot_name>
TO <repository_name>
[ ON ( <table_name> [ PARTITION ( <partition_name> [, ...] ) ]
[, ...] ) ]
[ PROPERTIES ("key"="value" [, ...] ) ]
参数说明
| 参数 | 说明 |
|---|---|
| db_name | 需要备份的数据所属的数据库名。 |
| snapshot_name | 指定数据快照名。全局范围内,快照名不可重复。 |
| repository_name | 仓库名。您可以通过 CREATE REPOSITORY 创建仓库。 |
| ON | 需要备份的表名。如不指定则备份整个数据库。 |
| PARTITION | 需要备份的分区名。如不指定则备份对应表的所有分区。 |
| PROPERTIES | 数据快照属性。现支持以下属性:
|
语法(自 v3.4.0 起支持)
-- 备份 External Catalog 元数据。
BACKUP { ALL EXTERNAL CATALOGS | EXTERNAL CATALOG[S] (<catalog_name> [, ...]) }
[ DATABASE <db_name> ] SNAPSHOT [<db_name>.]<snapshot_name>
TO <repository_name>
[ PROPERTIES ("key"="value" [, ...] ) ]
-- 备份数据库、表、分区、物化视图、逻辑视图或 UDF。
BACKUP [ DATABASE <db_name> ] SNAPSHOT [<db_name>.]<snapshot_name>
TO <repository_name>
[ ON ( backup_object [, ...] )]
[ PROPERTIES ("key"="value" [, ...] ) ]
backup_object ::= [
{ ALL TABLE[S] | TABLE[S] <table_name>[, TABLE[S] <table_name> ...] } |
{ ALL MATERIALIZED VIEW[S] | MATERIALIZED VIEW[S] <mv_name>[, MATERIALIZED VIEW[S] <mv_name> ...] } |
{ ALL VIEW[S] | VIEW[S] <view_name>[, VIEW[S] <view_name> ...] } |
{ ALL FUNCTION[S] | FUNCTION[S] <udf_name>[, FUNCTION[S] <udf_name> ...] } |
<table_name> PARTITION (<partition_name>[, ...]) ]