Percona XtraBackup 2.4


官方文档

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 所需的权限

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

  • RELOAD和(除非指定了 –no-lock 选项)以便在开始复制文件之前和开始复制文件,并且 在使用备份锁时需要此权限 。LOCK TABLESFLUSH TABLES WITH READ LOCKFLUSH ENGINE LOGSLOCK TABLES FOR BACKUPLOCK BINLOG FOR BACKUP
  • REPLICATION CLIENT为了获得二进制日志位置。
  • CREATE TABLESPACE为了导入表(请参阅恢复单个表)。
  • PROCESS为了运行(这是强制性的),并且可以选择查看在服务器上运行的所有线程(请参阅改进的 FLUSH TABLES WITH READ LOCK 处理)。SHOW ENGINE INNODB STATUS
  • SUPER为了在复制环境中启动/停止副本线程,请使用XtraDB Changed Page Tracking for Incremental Backups改进 FLUSH TABLES WITH READ LOCK 处理
  • CREATE权限以创建 PERCONA_SCHEMA.xtrabackup_history数据库和表。
  • ALTER权限以升级 PERCONA_SCHEMA.xtrabackup_history数据库和表。
  • INSERT权限,以便将历史记录添加到 PERCONA_SCHEMA.xtrabackup_history表。
  • SELECT特权,以便使用 innobackupex –incremental-history-name或 innobackupex –incremental-history-uuid以便该功能在PERCONA_SCHEMA.xtrabackup_history表中查找innodb_to_lsn值 。

创建具有完整备份所需的最低权限的数据库用户的 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