This is a read-only copy of the MariaDB Knowledgebase generated on 2024-11-14. For the latest, interactive version please visit https://mariadb.com/kb/.

Percona XtraBackup 概述

Percona XtraBackup is not supported in MariaDB. Mariabackup is the recommended backup method to use instead of Percona XtraBackup. See Percona XtraBackup Overview: Compatibility with MariaDB for more information.

Percona XtraBackup是一个开源工具,用于对MariaDB、MySQL和Percona Server数据库执行热备份。Percona XtraBackup可以执行压缩、增量和流式备份。它旨在备份XtraDB/InnoDB表,但也可以备份其他存储引擎

Mariabackup是Percona XtraBackup的一个分支,旨在与加密和压缩表以及其他MariaDB增强功能一起使用。有许多错误修复,例如MDEV-13807,并且已删除一些不安全或冗余的选项。Mariabackup是MariaDB服务器的推荐备份方法。

安装Percona XtraBackup

使用包管理器安装

在Linux上,也可以通过包管理器安装Percona XtraBackup。为此,需要配置系统以从包含它的存储库安装。

您还可以按照其文档中的说明将软件包管理器配置为从Percona的存储库安装它:

使用yum/dnf安装

在RHEL、CentOS、Fedora和其他类似的Linux发行版上,强烈推荐使用yumdnf从MariaDB的存储库中安装相关的RPM软件包。从RHEL 8和Fedora 22开始,yum已被dnf替换,后者是yum的下一个主要版本。但是,在许多使用dnf的系统上,yum命令仍然有效。例如,要安装Percona XtraBackup 2.3:

sudo yum install percona-xtrabackup

要安装Percona XtraBackup 2.4:

sudo yum install percona-xtrabackup-24

使用apt-get安装

在Debian、Ubuntu和其他类似的Linux发行版上,强烈建议使用apt-get从MariaDB的存储库安装相应的DEB包。例如,要安装Percona XtraBackup 2.3:

sudo apt-get install percona-xtrabackup

要安装Percona XtraBackup 2.4:

sudo apt-get install percona-xtrabackup-24

使用zypper安装

在SLES、OpenSUSE和其他类似的Linux发行版上,强烈建议使用zypper从MariaDB的存储库安装相应的RPM包。例如,要安装Percona XtraBackup 2.3:

sudo zypper install percona-xtrabackup

要安装Percona XtraBackup 2.4:

sudo zypper install percona-xtrabackup-24

使用Percona XtraBackup

使用xtrabackup的命令和一般语法是:

xtrabackup <options>

或者:

innobackupex <options>

选项

Percona XtraBackup支持的选项可以在Percona的文档中找到。

xtrabackup 选项:

innobackupex 选项:

选项文件

除了从命令行读取选项外,Percona XtraBackup还可以从选项文件中读取选项。

以下选项与MariaDB/MySQL命令行工具处理选项文件的方式有关。它们必须作为命令行上的第一个参数给出:

选项描述
--print-defaults打印程序参数列表并退出。
--no-defaults不从任何选项文件中读取默认选项。
--defaults-file=# 仅从给定文件#中读取默认选项。
--defaults-extra-file=# 在全局文件读取后读取此文件。

服务器选项组

Percona XtraBackup从以下选项组中的选项文件读取服务器选项:

描述
[xtrabackup]Mariabackup和Percona XtraBackup读取的选项。
[mysqld] 由mysqld读取的选项,其中包括MariaDB Server和MySQL Server。

客户端选项组

Percona XtraBackup从以下选项组中的选项文件读取客户端选项:

描述
[xtrabackup]Mariabackup和Percona XtraBackup读取的选项。
[client] 由所有MariaDB和MySQL客户端程序读取的选项,包括MariaDB和MySQL客户端。例如,mysqldump

认证和权限

当Percona XtraBackup执行备份操作(即指定--backup选项时)时,需要使用数据库服务器进行身份验证。执行备份的用户帐户需要在数据库服务器上具有RELOADPROCESSLOCK TABLESREPLICATION CLIENT全局权限。例如:

CREATE USER 'xtrabackup'@'localhost' IDENTIFIED BY 'mypassword';
GRANT RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'xtrabackup'@'localhost';

用户帐户信息可以使用-user--password命令行选项指定。例如:

$ xtrabackup --backup \
   --target-dir=/var/mariadb/backup/ \
   --user=xtrabackup --password=mypassword

用户帐户信息也可以在选项文件中的支持的客户端选项组中指定。例如:

[xtrabackup]
user=xtrabackup
password=mypassword

在准备或恢复备份时,Percona XtraBackup不需要与数据库服务器进行身份验证。

文件系统权限

Percona XtraBackup 需要从文件系统中读取 MariaDB 的文件。因此,当您以特定的操作系统用户运行 Percona XtraBackup 时,您应确保该用户帐户具有足够的权限来读取这些文件。

如果您使用的是 Linux,并且使用软件包管理器安装了 MariaDB,则 MariaDB 的文件可能归 mysql 用户和 mysql 组所有。

与 MariaDB 的兼容性

MariaDB 10.3 及更高版本的兼容性

MariaDB 10.3 及更高版本中,Mariabackup 是推荐使用的备份方法,而不是 Percona XtraBackup。

MariaDB 10.3 及更高版本中,不支持使用 Percona XtraBackup。

此限制由 Percona XtraBackup bug PXB-1550 跟踪。然而,似乎没有计划修复它。

MariaDB 10.2 的兼容性

MariaDB 10.2 中,Mariabackup 是推荐使用的备份方法,而不是 Percona XtraBackup。

MariaDB 10.2 中,仅在以下情况下支持 Percona XtraBackup 2.4:如果未使用InnoDB页压缩,如果未使用数据静止加密,如果设置了innodb_page_size16k

但是,用户应该知道,由于在 MariaDB 10.2.2 中通过 MDEV-12289 修复的 MySQL 5.7 undo 日志格式不兼容性 bug,可能会出现问题。由于此 bug,使用 Percona XtraBackup 2.4 准备的备份可能无法恢复某些事务。只有在服务器上运行设置 innodb_undo_logs=1 的情况下,这不会成为问题。如果设置了 innodb_safe_truncate=ON,则 Percona XtraBackup 2.4 还可能完全无法与 MariaDB 10.2.19 及更高版本一起使用,因为由 MDEV-14717 引入的重做日志格式更改。在这种情况下,您可能会看到以下错误:

InnoDB: Unsupported redo log format. The redo log was created with MariaDB 10.2.19. Please follow the instructions at http://dev.mysql.com/doc/refman/5.7/en/upgrading-downgrading.html

MariaDB 10.1 的兼容性

MariaDB 10.1 中,Mariabackup 是推荐使用的备份方法,而不是 Percona XtraBackup。

MariaDB 10.1 中,如果未使用InnoDB页压缩,如果未使用数据静止加密,如果设置了innodb_page_size16k,则支持 Percona XtraBackup 2.3。

MariaDB 10.0 及更早版本的兼容性

MariaDB 10.0 及更早版本中,支持 Percona XtraBackup 2.3。

使用 Percona XtraBackup 进行 Galera SSTs

xtrabackup-v2 SST 方法使用 Percona XtraBackup 实用程序执行 SST。有关详细信息,请参见 xtrabackup-v2 SST 方法

另请参阅

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.