4.3.1.3 备份到云存储

MySQL Enterprise Backup 支持云备份。只能在云存储上创建和恢复单个文件备份。所有 与单文件操作兼容的mysqlbackup选项(包括,例如, incrementalcompressionpartialencryption 选项)都可以用于云备份或恢复。

笔记

有关mysqlbackup对云存储支持的一些限制, 请参阅附录 B,MySQL Enterprise Backup的限制。

MySQL Enterprise Backup 支持以下类型的云存储服务:

  • Oracle 云基础设施 (OCI) 对象存储

  • OpenStack Swift 或兼容的对象存储服务

  • 亚马逊简单存储服务 (S3) 或兼容的存储服务。

  • GCP 对象存储

云备份是使用 mysqlbackup的云选项创建的,这在第 20.15 节,“云存储选项”中有详细描述。以下是创建云备份的一些示例命令:

示例 4.16 在 Oracle 云基础设施对象存储上创建云备份

此示例使用预验证请求 (PAR) URL 在 Oracle 云基础设施 (OCI) 对象存储桶中创建云备份。

mysqlbackup --defaults-file=/home/dbadmin/my.cnf  --backup-dir=/home/dbadmin/backuptmp \ 
  --with-timestamp --backup-image=- --cloud-service=OCI --cloud-par-url=<bucket_PAR_URL> --cloud-object=backup.bk \
backup-to-image


示例 4.17 在 Oracle 云基础设施上创建云增量备份

此示例使用预验证请求 (PAR) URL 在 Oracle 云基础设施 (OCI) 对象存储桶中创建增量云备份。

mysqlbackup --defaults-file=/home/dbadmin/my.cnf --backup-dir=/home/dbadmin/backuptmp --with-timestamp \ 
  --backup-image=- --cloud-service=OCI --cloud-par-url=<bucket_PAR_URL> --cloud-object=backup-inc.bk  \ 
--incremental --incremental-base=history:last_backup backup-to-image


示例 4.18 在 OpenStack 对象存储上创建云备份

此示例在 OpenStack 对象存储上创建云备份,使用 Keystone 身份服务来验证用户的凭据。

mysqlbackup \
--defaults-file=/home/dbadmin/my.cnf \
--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/dba/opbackuptmpdir \
--backup-image=- \
backup-to-image


示例 4.19 在 Amazon S3 存储桶中创建云备份

此示例在 Amazon S3 存储桶中创建云备份。

mysqlbackup\
--defaults-file=/home/dbadmin/my.cnf \
--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/dba/s3backupdir --with-timestamp \
--backup-image=- \
backup-to-image


示例 4.20 在 Amazon S3 存储桶中创建云增量备份

此示例在 Amazon S3 存储桶中创建云增量备份。

mysqlbackup\
--defaults-file=/home/dbadmin/my.cnf \
--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/dba/s3backupdir --with-timestamp \
--backup-image=- --incremental --incremental-base=history:last_backup \
backup-to-image


示例 4.21 在 GCP 存储服务上创建云备份

此示例在 GCP 存储服务上创建云备份。

mysqlbackup\
--defaults-file=/home/dbadmin/my.cnf \
--cloud-service=GCP \
--cloud-bucket=<bucket name> --cloud-object=<object name> \
--cloud-access-key=<access name> --cloud-secret-key=<secret key> \
--backup-dir=/home/dba/backupdir --with-timestamp \
--backup-image=- \
backup-to-image


云备份始终使用一个写入线程。

此外backup-to-image,所有其他 用于单文件备份的mysqlbackupbackup-dir-to-image操作( 、 list-imagevalidateimage-to-backup-dirextractcopy-backcopy-back-and-apply-log)也可以使用云存储执行(有关一些限制,请参阅 附录 B,MySQL Enterprise Backup的限制)。

有关如何从云存储恢复备份映像的信息 , 请参阅第 5.2 节,“将备份从云存储恢复到 MySQL 服务器” 。