Percona XtraBackup 概述
Contents
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发行版上,强烈推荐使用yum
或dnf
从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
选项时)时,需要使用数据库服务器进行身份验证。执行备份的用户帐户需要在数据库服务器上具有RELOAD
、PROCESS
、LOCK TABLES
和REPLICATION 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_size 为 16k
。
但是,用户应该知道,由于在 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_size 为 16k
,则支持 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 方法。