Percona XtraBackup - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Percona XtraBackup

Percona XtraBackup 是适用于 MySQL和MariaDB的常见开源热备份软件,可为InnoDB和XtraDB存储引擎进行非阻塞备份。它可以与 MySQL 或 MariaDB 服务器配合使用。有关该工具及其部分功能和优势的更多信息,请参阅Percona文档 XtraBackup中的关于Percona。 XtraBackup

此工具使用物理迁移方法。它直接复制 MySQL 或 MariaDB 的数据目录及其中的文件。对于大型数据库,例如大于 100 GB 的数据库,这可以提供比其他工具更好的恢复时间。您可以创建本地源数据库的备份,将备份文件迁移到云端,然后在新的目标数据库实例上恢复备份。

下图显示了使用 Percona XtraBackup 备份文件迁移数据库所涉及的高级步骤。根据备份文件的大小,有两个选项可用于将备份传输到中的亚马逊简单存储服务 (Amazon S3) 存储桶。 AWS Cloud

迁移 Percona XtraBackup 文件并将其还原到 AWS 数据库实例的示意图。

以下是使用 Percona 将数据库迁移 XtraBackup 到的步骤: AWS Cloud

  1. 在本地服务器 XtraBackup 上安装 Percona。如果你使用的是亚马逊 Aurora MySQL 版本 2 或亚马逊 RDS,请参阅安装 Percona XtraBackup 2.4。如果你使用的是 Amazon Aurora MySQL 版本 3,请参阅 Percona 文档中的安装 Percona XtraBackup 8.0。 XtraBackup

  2. 创建源 MySQL 或 MariaDB 数据库的完整备份。有关 Percona XtraBackup 2.4 的说明,请参阅完整备份。有关 Percona XtraBackup 8.0 的说明,请参阅创建完整备份。

  3. 使用以下方法之一将备份文件上传到 S3 存储桶。

    方法 3A — 对于小于 10 TB 的数据库备份文件,您可以使用组织中经批准的服务或工具通过 Internet 传输备份文件,例如:

    方法 3B-对于大于 10 TB 的数据库备份文件,使用AWS Snowball Edge将备份文件传输到 S3 存储桶。有关说明,请参阅:

  4. 从 S3 存储桶中,将备份文件还原到目标数据库实例。有关说明,请参阅:

  5. (可选)可以在源数据库和目标数据库实例之间设置复制。您可以使用二进制日志 (binlog) 复制来减少停机时间。有关更多信息,请参阅下列内容:

优点

  • 由于 Percona XtraBackup 使用物理迁移方法,因此恢复过程通常比使用逻辑迁移方法的工具更快。这是因为性能受磁盘或网络吞吐量的限制,而不是受数据处理所需的计算资源的限制。

  • 由于还原过程是将文件从 S3 存储桶直接复制到目标数据库实例,因此 Percona XtraBackup 文件的恢复速度通常比使用其他工具创建的备份文件更快。

  • Percona 适应 XtraBackup 性强。例如,它支持多线程以帮助您更快地复制文件,并支持压缩以减小备份的大小。

限制

  • 无法进行离线备份,因为 Percona XtraBackup 必须有权访问源数据库服务器。

  • Percona XtraBackup 只能用于具有相同系统架构的系统。例如,无法将在 Intel for Windows 服务器上运行的源数据库的备份还原到适用于 Linux 的 ARM 目标服务器。

  • Maria DB 版本 10.3 XtraBackup 不支持 Percona,Maria DB 版本 10.2 和 10.1 版本仅部分支持 Percona。有关更多信息,请参阅 MariaDB 知识库中的 Percona XtraBackup 概述:与 MariaDB 的兼容性

  • 你不能使用 Percona XtraBackup 将源 MariaDB 数据库恢复到目标 MySQL 数据库实例,例如适用于 MySQL 的亚马逊 RDS 或兼容 Aurora MySQL 的 Aurora MySQL。

  • 您可以在 S3 存储桶中存储的数据总量和对象数量不受限制,但最大文件大小为 5 TB。如果您的备份文件超过 5 TB,则可以将其拆分为多个较小的文件。

  • 关闭该innodb_file_per_table设置后,Percona XtraBackup 不支持使用--tables、、、--tables-exclude--tables-file--databases--databases-exclude、或的部分备份。--databases-file有关 Percona XtraBackup 版本 2.4 的更多信息,请参阅部分备份。有关 Percona 8.0 XtraBackup 版本的更多信息,请参阅创建部分备份。

最佳实践

  • 要提高备份过程的性能,请执行以下操作:

    • 使用 -- parallel= 并行复制多个文件 <threads>

    • 使用 -- compress-threads= 并行压缩多个文件 <threads>

    • 使用 -- use-memory=来增加内存 <size>

    • 使用 -- encrypt-threads= 并行加密多个文件 <threads>

  • 确保源服务器上有足够的空间来存放数据库备份文件。

  • 使用 Percona xbstream (.xbstream) 格式文件生成数据库备份。有关更多信息,请参阅 Per XtraBackup cona 文档中的 xbstream 二进制文件概述