本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Percona XtraBackup
Percona XtraBackup 是适用于
此工具使用物理迁移方法。它直接复制 MySQL 或 MariaDB 的数据目录及其中的文件。对于大型数据库,例如大于 100 GB 的数据库,这可以提供比其他工具更好的恢复时间。您可以创建本地源数据库的备份,将备份文件迁移到云端,然后在新的目标数据库实例上恢复备份。
下图显示了使用 Percona XtraBackup 备份文件迁移数据库所涉及的高级步骤。根据备份文件的大小,有两个选项可用于将备份传输到中的亚马逊简单存储服务 (Amazon S3) 存储桶。 AWS Cloud
![迁移 Percona XtraBackup 文件并将其还原到 AWS 数据库实例的示意图。](images/percona-xtrabackup-migration-aws.png)
以下是使用 Percona 将数据库迁移 XtraBackup 到的步骤: AWS Cloud
-
在本地服务器 XtraBackup 上安装 Percona。如果你使用的是亚马逊 Aurora MySQL 版本 2 或亚马逊 RDS,请参阅安装 Percona XtraBackup
2.4。如果你使用的是 Amazon Aurora MySQL 版本 3,请参阅 Percona 文档中的安装 Percona XtraBackup 8.0 。 XtraBackup -
创建源 MySQL 或 MariaDB 数据库的完整备份。有关 Percona XtraBackup 2.4 的说明,请参阅完整
备份。有关 Percona XtraBackup 8.0 的说明,请参阅创建 完整备份。 -
使用以下方法之一将备份文件上传到 S3 存储桶。
方法 3A — 对于小于 10 TB 的数据库备份文件,您可以使用组织中经批准的服务或工具通过 Internet 传输备份文件,例如:
方法 3B-对于大于 10 TB 的数据库备份文件,使用AWS Snowball Edge将备份文件传输到 S3 存储桶。有关说明,请参阅:
-
从 S3 存储桶中,将备份文件还原到目标数据库实例。有关说明,请参阅:
-
有关兼容 Aurora MySQL 的版本,请参阅亚马逊 RDS 文档中的使用亚马逊 S3 存储桶从 MySQL 迁移数据。
-
对于适用于 MySQL 的 Amazon RDS 或亚马逊 EC2,请参阅将数据导入 MySQL 数据库实例。
-
对于适用于 MariaDB 的 Amazon RDS 或亚马逊 EC2,请参阅将数据导入 MariaDB 数据库实例。
-
-
(可选)可以在源数据库和目标数据库实例之间设置复制。您可以使用二进制日志 (binlog) 复制来减少停机时间。有关更多信息,请参阅下列内容:
-
有关亚马逊 Aurora 的信息,请参阅以下内容:
-
对于 Amazon RDS,请参阅以下内容:
-
在 Amazon RDS 文档中@@ 使用 MariaDB 复制
-
对于 Amazon EC2,请参阅以下内容:
-
在 MySQL 文档中@@ 设置基于二进制日志文件位置的复制
-
在 MySQL 文档中设置副本
-
在 Maria@@ DB 文档中设置复制
-
优点
-
由于 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 版本的更多信息,请参阅创建 部分备份。
最佳实践
-
要提高备份过程的性能,请执行以下操作:
-
确保源服务器上有足够的空间来存放数据库备份文件。
-
使用 Percona xbstream (.xbstream) 格式文件生成数据库备份。有关更多信息,请参阅 Per XtraBackup cona 文档中的 xbstream 二进制文件概述
。