首批通过分布式安全可靠测评,为关键业务系统打造
SET DATA_BACKUP_DEST
更新时间:2025-07-17 16:36:45
描述
ALTER SYSTEM SET DATA_BACKUP_DEST 语句用于为用户租户配置备份目的端,即数据备份的备份路径。
使用限制及注意事项
系统租户和 Meta 租户不支持备份恢复,不需要配置备份目的端。
目前,OceanBase 数据库支持的备份介质为 NFS、阿里云 OSS、AWS S3 以及兼容 S3 协议的对象存储,例如:华为 OBS、Google GCS、腾讯云 COS。部分备份介质可能需要满足一些基本要求才能使用,有关各备份介质的具体要求,参见 物理备份与恢复概述 中的 备份介质要求。
权限要求
需要由 sys 租户的 root 用户(root@sys) 或各租户的管理员用户执行。其中:
- MySQL 模式的默认管理员用户为
root用户。 - Oracle 模式的默认管理员用户为
SYS用户。
语法
ALTER SYSTEM SET DATA_BACKUP_DEST = 'data_backup_path' [TENANT = tenant_name];
参数说明
| 参数 | 描述 |
|---|---|
| data_backup_path | 指定数据备份的备份路径。目前,OceanBase 数据库支持的备份介质为 NFS、阿里云 OSS、AWS S3 以及兼容 S3 协议的对象存储,例如:华为 OBS、Google GCS、腾讯云 COS。有关该参数的详细说明,参见下方 data_backup_path。 |
| tenant_name | 系统租户指定待配置备份目的端的租户名。
注意仅系统租户在执行此命令时需要通过 |
data_backup_path
用于指定数据备份的备份路径。下面分别对不同类型的介质的 data_backup_path 格式进行说明。
NFS
ALTER SYSTEM SET DATA_BACKUP_DEST = 'file://your-nfs-server/your-backup-path';
其中,file://your-nfs-server/your-backup-path 用于指定 OceanBase 数据库可以访问的 NFS 服务器的路径,以便存储数据备份。
对象存储
# 阿里云 OSS
ALTER SYSTEM SET DATA_BACKUP_DEST = 'oss://your-bucket-name/your-archive-path?host=oss-your-region.aliyuncs.com&access_id=your-access-id&access_key=your-access-key[&delete_mode={delete | tagging}][&checksum_type={md5 | no_checksum}]';
# AWS S3
ALTER SYSTEM SET DATA_BACKUP_DEST = 's3://your-bucket-name/your-archive-path?host=s3.your-region.amazonaws.com&access_id=your-access-id&access_key=your-access-key&s3_region=your-s3-region[&delete_mode={delete | tagging}][&checksum_type={md5 | crc32}]';
# 兼容 S3 协议的对象存储
ALTER SYSTEM SET DATA_BACKUP_DEST = 's3://your-bucket-name/your-archive-path?host=your-service.com&access_id=your-access-id&access_key=your-access-key[&checksum_type=md5]';
相关参数说明如下:
注意
使用对象存储作为备份介质时,对象存储路径的各项参数由 & 符号进行分隔,请确保您输入的参数值中仅包含英文字母大小写、数字、/-_$+= 以及通配符。如果您输入了上述以外的其他字符,可能会导致设置失败。
host:对象存储服务的访问域名。access_id=your-access-id:对象存储的访问秘钥 ID。access_key=your-access-key:对象存储的访问密钥。delete_mode:在备份路径后配置备份文件的清理模式,OSS、S3、COS(以 S3 协议访问) 的可选参数,与其他参数之间通过&符号连接。该参数当前支持以下两种取值:delete:表示清理模式为直接删除满足清理要求的备份文件。配置为该模式后,当您通过自动方式清理备份文件时,对于满足清理要求的备份文件,系统会直接将其删除。
tagging:表示清理模式为对满足清理要求的备份文件设置Tag,备份文件将仍然保留。配置为该模式后,当您通过自动方式清理备份文件时,对于满足清理要求的备份文件,系统会给这些文件设置标签,标签的
key为"delete_mode",value为"tagging",以便后续用户可以通过设置的标签在对象存储上对这些文件的生命周期进行管理。
checksum_type:指定校验算法,用于校验备份数据的完整性。如果未显式指定,所有对象存储默认均使用 MD5 校验算法。根据不同的对象存储,该参数支持的取值如下:md5:使用 MD5 算法校验备份数据的完整性。注意
MD5 校验对于
GetObject接口不生效。no_checksum:不校验备份数据的完整性。仅 OSS 支持该取值。对于通过 S3 协议接入的对象存储,包括 AWS S3、OBS、GCS、COS 等,由于受到 S3 SDK 的限制,不支持该取值。crc32:使用 CRC32 算法校验备份数据的完整性。仅 AWS S3 支持该取值。
s3_region:Amazon S3 存储桶所在的区域。备份介质为 AWS S3 时,必须指定的参数。
示例
系统租户
系统租户为租户
mysql_tenant配置备份目的端,备份介质为 NFS。obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'file:///data/nfs/backup/data' TENANT = mysql_tenant;系统租户为租户
mysql_tenant配置备份目的端,备份介质为 OSS,备份文件的清理模式为delete,使用 MD5 算法校验备份数据的完整性。obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'oss://oceanbase-test-bucket/backup/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx&delete_mode=delete&checksum_type=md5' TENANT = mysql_tenant;系统租户为租户
mysql_tenant配置备份路径,备份介质为 OSS,备份文件的清理模式为delete,不校验备份数据的完整性。obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'oss://oceanbase-test-bucket/backup/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx&delete_mode=delete&checksum_type=no_checksum' TENANT = mysql_tenant;系统租户为租户
mysql_tenant配置备份目的端,备份介质为 AWS S3,备份文件的清理模式为tagging,使用 CRC32 算法校验备份数据的完整性。obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test-bucket/backup/data?host=s3.<region>.amazonaws.com&access_id=xxx&access_key=xxx&s3_region=xxx&delete_mode=tagging&checksum_type=crc32' TENANT = mysql_tenant;系统租户为租户
mysql_tenant配置备份路径,备份介质为 OBS,通过 S3 协议访问。obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test-bucket/backup/data?host=obs.****.myhuaweicloud.com&access_id=****&access_key=****' TENANT = mysql_tenant;系统租户为租户
mysql_tenant配置备份路径,备份介质为 GCS,通过 S3 协议访问。obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test-bucket/backup/data?host=https://storage.googleapis.com&access_id=****&access_key=****' TENANT = mysql_tenant;系统租户为租户
mysql_tenant配置备份路径,备份介质为 COS,备份文件的清理模式为delete,通过 S3 协议访问。注意
使用 COS 作为备份介质时,需要先设置集群级配置项 ob_storage_s3_url_encode_type,详细操作可参见 备份前准备。
obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test/backup/data?host=cos.ap-xxxx.myqcloud.com&access_id=***&access_key=***&delete_mode=delete' TENANT = mysql_tenant;
用户租户
租户
mysql_tenant为本租户配置备份目的端,备份介质为 NFS。obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'file:///data/nfs/backup/data';租户
mysql_tenant为本租户配置备份目的端,备份介质为 OSS,备份文件的清理模式为delete,使用 MD5 算法校验备份数据的完整性。obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'oss://oceanbase-test-bucket/backup/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx&delete_mode=delete&checksum_type=md5';租户
mysql_tenant为本租户配置备份路径,备份介质为 OSS,备份文件的清理模式为delete,不校验备份数据的完整性。obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'oss://oceanbase-test-bucket/backup/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx&delete_mode=delete&checksum_type=no_checksum';租户
mysql_tenant为本租户配置备份目的端,备份介质为 AWS S3,备份文件的清理模式为tagging,使用 CRC32 算法校验备份数据的完整性。obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test-bucket/backup/data?host=s3.<region>.amazonaws.com&access_id=xxx&access_key=xxx&s3_region=xxx&delete_mode=tagging&checksum_type=crc32';租户
mysql_tenant为本租户配置备份路径,备份介质为 OBS,通过 S3 协议访问。obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test-bucket/backup/data?host=obs.****.myhuaweicloud.com&access_id=****&access_key=****';租户
mysql_tenant为本租户配置备份路径,备份介质为 GCS,通过 S3 协议访问。obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test-bucket/backup/data?host=https://storage.googleapis.com&access_id=****&access_key=****';租户
mysql_tenant为本租户配置备份路径,备份介质为 COS,备份文件的清理模式为delete,通过 S3 协议访问。注意
使用 COS 作为备份介质时,需要先设置集群级配置项 ob_storage_s3_url_encode_type,详细操作可参见 备份前准备。
obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test/backup/data?host=cos.ap-xxxx.myqcloud.com&access_id=***&access_key=***&delete_mode=delete';