官方文档

​https://www.percona.com/doc/percona-xtrabackup/2.4/index.html​

Percona XtraBackup介绍

Percona XtraBackup是基于MySQL的服务器的开源热备份实用程序,在备份期间不会锁定您的数据库。

它可以备份MySQL 5.1 、5.5、5.6 和 5.7 服务器上的InnoDB、XtraDB 和MyISAM表中的 数据,以及带有 XtraDB的Percona Server for MySQL 。

Percona XtraBackup 二进制安装

wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.21/binary/tarball/percona-xtrabackup-2.4.21-Linux-x86_64.glibc2.12.tar.gz
tar xvf percona-xtrabackup-2.4.21-Linux-x86_64.glibc2.12.tar.gz

Percona XtraBackup 连接配置

Percona XtraBackup需要能够连接到数据库服务器并在创建备份时、在某些情况下准备时以及在恢复时对服务器和datadir执行操作。为此,必须满足其执行的特权和权限要求。

权限是指允许系统用户在数据库服务器中进行的操作。它们是在数据库服务器上设置的,仅适用于数据库服务器中的用户

权限是允许用户在系统上执行操作的权限,例如在某个目录上读取、写入或执行或启动/停止系统服务。它们是在系统级别设置的,仅适用于系统用户

$ xtrabackup --user=DVADER --password=14MY0URF4TH3R --backup \
--target-dir=/data/bkps/
$ innobackupex --user=DBUSER --password=SECRET /path/to/backup/dir/
$ innobackupex --user=LUKE --password=US3TH3F0RC3 --stream=tar ./ | bzip2 -

Percona XtraBackup 所需的权限

数据库用户需要对要备份的表/数据库具有以下权限:

创建具有完整备份所需的最低权限的数据库用户的 SQL 示例如下:

mysql> CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 's3cret';
mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO
'bkpuser'@'localhost';
mysql> FLUSH PRIVILEGES;

qpress 安装

wget -d --user-agent="Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0" http://www.quicklz.com/qpress-11-linux-x64.tar
tar -xf qpress-11-linux-x64.tar -C /usr/local/sbin
source /etc/profile

xbstream 数据还原

解包备份文件

 /usr/local/percona-xtrabackup/bin/xbstream -x --parallel=2 -C ./topholder2_pre/ < topholer2.xbstream
  • 本文目标目录以topholder2_pre为数据文件恢复存储,根据实际情况替换为实际路径。
  • topholder2.xbstrean 备份文件。

解压备份文件

xtrabackup --decompress --target-dir=./mysql_back
  • ​xtrabackup​​​默认在解压缩时不删除原始的压缩文件,若需解压完删除原始的压缩文件,可在上面的命令中加上​​--remove-original​​参数。

 Prepare 备份文件

xtrabackup --prepare  --target-dir=/data/mysql_back