本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Percona XtraBackup
重要
MariaDB 10.3 或更高版本不支持 Percona XtraBackup ,10.1 和 10.2 版本仅部分支持 Percona。
Percona XtraBackup 是适用于
此工具使用物理迁移方法。它直接复制 MySQL 或 MariaDB 数据目录及其中的文件。对于大型数据库(例如大于 100 GB 的数据库),与其他一些工具相比,这可以提供明显更好的恢复时间。您可以创建本地源数据库的备份,将备份文件迁移到云,然后在新的目标数据库实例上恢复备份。
下图显示了使用 Percona XtraBackup 备份文件迁移数据库所涉及的高级步骤。根据备份文件的大小,可通过两种选项将备份传输到 AWS Cloud中的 Amazon Simple Storage Service(Amazon S3)存储桶。
以下是使用 Percona 将数据库迁移 XtraBackup 到的步骤: AWS Cloud
-
在本地服务器 XtraBackup 上安装 Percona。如果你使用的是 Amazon 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 的说明,请参阅创建 完整备份。 -
使用组织中经批准的服务或工具,通过 Internet 传输备份文件,例如:
-
从 Amazon S3 存储桶中,将备份文件还原到目标数据库实例。有关说明,请参阅:
-
有关 Aurora MySQL 兼容版,请参阅 Amazon RDS 文档中的通过使用 Amazon S3 存储桶从 MySQL 中迁移数据。
-
对于 Amazon RDS for MySQL 或 Amazon EC2,请参阅将数据导入 MySQL 数据库实例。
-
对于 Amazon RDS for MariaDB 或适用于 Amazon EC2 的 Amazon RDS,请参阅将数据导入 MariaDB 数据库实例。
-
-
(可选)您可以在源数据库和目标数据库实例之间设置复制。您可以使用二进制日志(binlog)复制来减少停机时间。有关更多信息,请参阅下列内容:
-
MySQL 文档中的 Setting the replication source configuration
-
对于 Amazon Aurora,请参阅以下内容:
-
Aurora 文档中的通过复制同步 Amazon Aurora MySQL 数据库集群和 MySQL 数据库
-
Aurora 文档中的在 Amazon Aurora 中使用二进制日志复制
-
-
对于 Amazon RDS,请参阅以下内容:
-
Amazon RDS 文档中的使用 MySQL 复制
-
Amazon RDS 文档中的使用 MariaDB 复制
-
-
对于 Amazon EC2,请参阅以下内容:
-
MySQL 文档中的设置二进制日志文件基于位置的复制
-
MySQL 文档中的设置副本
-
MariaDB 文档中的设置复制
-
-
优点
-
由于 Percona XtraBackup 使用物理迁移方法,因此恢复过程通常比使用逻辑迁移方法的工具更快。这是因为性能受磁盘或网络吞吐量的限制,而不是受数据处理所需的计算资源的限制。
-
由于还原过程是将文件从 S3 存储桶直接复制到目标数据库实例,因此 Percona XtraBackup 文件的恢复速度通常比使用其他工具创建的备份文件更快。
-
Percona 适应 XtraBackup 性强。例如,它支持多线程以帮助您更快地复制文件,并支持压缩以减小备份的大小。
限制
-
无法进行离线备份,因为 Percona XtraBackup 必须有权访问源数据库服务器。
-
Percona XtraBackup 只能用于具有相同系统架构的系统。例如,无法将在 Intel for Windows Server 上运行的源数据库的备份恢复到 ARM for Linux 目标服务器。
-
MariaDB 版本 10.3 或更高版本 XtraBackup 不支持 Percona,MariaDB 版本 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 二进制文件概述
。