MySQL Enterprise Backup 支持云备份。只能在云存储上创建和恢复单个文件备份。所有 与单文件操作兼容的mysqlbackup选项(包括,例如, incremental、 compression、 partial和 encryption 选项)都可以用于云备份或恢复。
有关mysqlbackup对云存储支持的一些限制, 请参阅附录 B,MySQL Enterprise Backup的限制。
目前,MySQL Enterprise Backup 支持两种类型的云存储服务:OpenStack Swift 或兼容的对象存储服务(例如 Oracle Cloud Infrastructure Object Storage 和 Oracle Cloud Infrastructure Object Storage Classic)和 Amazon S3。
由于某些问题,MySQL Enterprise Backup 3.12 目前不支持 Amazon S3。
MySQL Enterprise Backup 3.12 支持 Swift v1.0 API,以及用于身份验证的 OpenStack Identity (Keystone) API v2.0。它还支持使用 Swift 的 TempAuth 系统或 HTTP 基本身份验证进行身份验证。备份在 Swift 中存储为动态大对象,每个大于 5G 的备份被分成多个部分,名称以
_part_的形式<object_name>
<number>
。有关详细信息,请参阅
OpenStack 文档。
使用 mysqlbackup的云选项创建云备份,这在第 14.14 节,“云存储选项”中有详细描述。以下是创建云备份的一些示例命令:
示例 4.18 在 Oracle Cloud Infrastructure Object Storage Classic 上创建云备份
此示例在 Oracle Cloud Infrastructure (OCI) Object Storage Classic 容器中创建云备份,使用 TempAuth 系统对用户凭证进行身份验证。
mysqlbackup \
--cloud-service=openstack --cloud-container=<OCI Object Storage Classic container> \
--cloud-user-id=<serviceInstanceName>-<identityDomainName>:<userName> --cloud-password='<password>' \
--cloud-tempauth-url=https://<dataCenterCode>.storage.oraclecloud.com \
--cloud-trace=1 --cloud-object=image_900.mbi \
--backup-dir=/home/user/dba/orbackuptmpdir \
--backup-image=- \
backup-to-image
示例 4.19 在 Oracle 云基础设施对象存储上创建云备份
此示例使用 HTTP 基本身份验证在 Oracle 云基础设施 (OCI) 对象存储桶中创建云备份。
mysqlbackup \
--cloud-service=openstack --cloud-container=<OCI Object Storage bucket> \
--cloud-user-id=<OCI userName> --cloud-password='<OCI auth token>' \
--cloud-ca-info=/etc/ssl/certs/ca-certificates.crt
--cloud-basicauth-url=https://swiftobjectstorage.<region>.oraclecloud.com/v1/<OCI Object Storage namespace> \
--cloud-trace=1 --cloud-object=backup_image_900.mbi \
--backup-dir=/home/user/dba/orbackuptmpdir \
--backup-image=- \
backup-to-image
示例 4.20 在 Oracle 云基础设施对象存储上创建云增量备份
此示例使用 HTTP 基本身份验证在 Oracle 云基础设施 (OCI) 对象存储桶中创建增量云备份。
mysqlbackup \
--cloud-service=openstack --cloud-container=<OCI Object Storage bucket> \
--cloud-user-id=<OCI userName> --cloud-password='<OCI auth token>' \
--cloud-ca-info=/etc/ssl/certs/ca-certificates.crt
--cloud-basicauth-url=https://swiftobjectstorage.<region>.oraclecloud.com/v1/<OCI Object Storage namespace> \
--cloud-object=backup_incr_image_900.mbi \
--backup-dir=/home/user/dba/orincrbackuptmpdir \
--incremental --incremental-base=history:last_backup \
--backup-image=- \
backup-to-image
示例 4.21 在 OpenStack 对象存储上创建云备份
此示例在 OpenStack 对象存储上创建云备份,使用 Keystone 身份服务来验证用户的凭据。
mysqlbackup \
--include-tables=testdb.t1 --use-tts=with-full-locking \
--cloud-service=openstack --cloud-container=<swift container> \
--cloud-user-id=<keystone user> --cloud-password=<keystone password> \
--cloud-region=<keystone region> --cloud-tenant=<keystone tenant> \
--cloud-identity-url=<keystone url> \
--cloud-trace=1 --cloud-object=image_800.mbi \
--backup-dir=/home/user/dba/opbackuptmpdir \
--backup-image=- \
backup-to-image
示例 4.22 在 Amazon S3 上创建云备份
mysqlbackup\
--cloud-service=s3 --cloud-aws-region=<aws region> \
--cloud-access-key-id=<aws access key id> --cloud-secret-access-key=< aws secret access key> \
--cloud-bucket=<s3 bucket name> --cloud-object-key=<aws object key> \
--backup-dir=/home/user/dba/s3backuptmpdir \
--backup-image=- \
backup-to-image
云备份始终使用一个写入线程。
此外backup-to-image
,所有其他
用于单文件备份的mysqlbackupbackup-dir-to-image
操作( 、
list-image
、
validate
、
image-to-backup-dir
、
extract
、
copy-back
和
copy-back-and-apply-log
)也可以通过云存储执行。例如:
示例 4.23 将现有映像从 Oracle Cloud Infrastructure 对象存储经典容器提取到备份目录
从 Oracle Cloud Infrastructure Object Storage Classic 容器中提取备份映像,使用
--backup-dir
选项指定将映像提取到的目录:
mysqlbackup \
--cloud-service=openstack --cloud-container=<OCI Object Storage Classic container> \
--cloud-user-id=<serviceInstanceName>-<identityDomainName>:<userName> --cloud-password=<password> \
--cloud-tempauth-url=https://<dataCenterCode>.storage.oraclecloud.com \
--cloud-object=image_930.mbi \
--backup-dir=/home/user/dba/orbackupdir \
--backup-image=- \
image-to-backup-dir
示例 4.24 将现有图像从 Amazon S3 云存储提取到备份目录
从 Amazon S3 中提取备份图像,使用
--backup-dir
选项指定将图像提取到的目录:
mysqlbackup\
--cloud-service=s3 --cloud-aws-region=<aws region> \
--cloud-access-key-id=<aws access key id> --cloud-secret-access-key=< aws secret access key> \
--cloud-bucket=<s3 bucket name> --cloud-object-key=<aws object key> \
--backup-dir=/home/user/dba/s3backupdir \
--backup-image=- \
image-to-backup-dir
有关如何从云存储恢复备份映像的信息 , 请参阅第 5.2.6 节,“将备份从云存储恢复到 MySQL 服务器” 。