percona xtrabackup 简介

os: centos 7.4
db: mysql 5.7
dbbackup: xtrabackup 2.4.9

xtrabackup是一款优秀的mysql开源备份(物理备份)工具,是由percona公司开发的。

下载

官网下载
https://www.percona.com/software/mysql-database/percona-xtrabackup
https://www.percona.com/downloads/XtraBackup/LATEST/

也有git的支持
https://github.com/percona/percona-xtrabackup

文档
https://www.percona.com/doc/percona-xtrabackup/LATEST/index.html
https://www.percona.com/doc/percona-xtrabackup/2.4/index.html
Percona-XtraBackup-2.4.9.pdf

安装

主要有几种方式
1)yum Repositories方式
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
yum list|grep -i percona
yum install percona-xtrabackup-24.x86_64

2)手动rpm包安装
Percona-XtraBackup-2.4.9-ra467167cdd4-el7-x86_64-bundle.tar

3)二进制的方式
percona-xtrabackup-2.4.9-Linux-x86_64.tar.gz

4)源码编译
percona-xtrabackup-2.4.9.tar.gz

5)git方式,越来越多的项目提供git支持了
https://github.com/percona/percona-xtrabackup.git
https://github.com/percona/percona-xtrabackup

本次采用手动rpm方式

# cd /tmp/xtrabackup
# tar -xvf ./Percona-XtraBackup-2.4.9-ra467167cdd4-el7-x86_64-bundle.tar
# rpm -ivh ./percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
warning: ./percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
error: Failed dependencies:
    libev.so.4()(64bit) is needed by percona-xtrabackup-24-2.4.9-1.el7.x86_64
# yum install libev
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package libev.x86_64 0:4.15-7.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================
 Package               Arch                   Version                       Repository              Size
=========================================================================================================
Installing:
 libev                 x86_64                 4.15-7.el7                    extras                  44 k

Transaction Summary
=========================================================================================================
Install  1 Package

Total download size: 44 k
Installed size: 86 k
Is this ok [y/d/N]: y
Downloading packages:
libev-4.15-7.el7.x86_64.rpm                                                       |  44 kB  00:00:05     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libev-4.15-7.el7.x86_64                                                               1/1 
  Verifying  : libev-4.15-7.el7.x86_64                                                               1/1 

Installed:
  libev.x86_64 0:4.15-7.el7                                                                              

Complete!

再次安装xtrabackup

# rpm -ivh ./percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
warning: ./percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:percona-xtrabackup-24-2.4.9-1.el7################################# [100%]

中间出错,可以baidu多搜搜,基本都不难解决
至此,xtrabackup就算安装好了,下面来简述如何备份和还原,更灵活的用法计划再写几篇xtrabackup专题blog

# which innobackupex 
/usr/bin/innobackupex
# which xtrabackup 
/usr/bin/xtrabackup
# ls -l /usr/bin/innobackupex 
lrwxrwxrwx 1 root root 10 Mar 26 21:06 /usr/bin/innobackupex -> xtrabackup

可以看到 innobackupex 是到 xtrabackup 的软链

# innobackupex --help 
# xtrabackup --help

这两个的输出还是不太一样innobackupex –help 有这样一句描述

NOTICE: ‘innobackupex’ is deprecated, please switch to ‘xtrabackup’

所以还是安心使用 xtrabackup

Percona XtraBackup is a set of following tools:
innobackupex 
innobackupex is the symlink for xtrabackup. innobackupex still supports all features and
syntax as 2.2 version did, but is now deprecated and will be removed in next major release.

xtrabackup 
a compiled C binary that provides functionality to backup a whole MySQL database instance with MyISAM, InnoDB, and XtraDB tables.

xbcrypt 
utility used for encrypting and decrypting backup files.

xbstream 
utility that allows streaming and extracting files to/from the xbstream format.

xbcloud 
utility used for downloading and uploading full or part of xbstream archive from/to cloud.

After Percona XtraBackup 2.3 release the recommend way to take the backup is using the xtrabackup script. More
information on script options can be found in how to use xtrabackup.

备份

全量备份

# xtrabackup --backup --datadir=/var/lib/mysql/ --target-dir=/backup/backupset/20180327_base

增量备份

# xtrabackup --backup --datadir=/var/lib/mysql/ --target-dir=/backup/backupset/20180327_inc1 --incremental-basedir=/backup/backupset/20180327_base
# xtrabackup --backup --datadir=/var/lib/mysql/ --target-dir=/backup/backupset/20180327_inc2 --incremental-basedir=/backup/backupset/20180327_inc1

prepare

# xtrabackup --prepare --apply-log-only --target-dir=/backup/backupset/20180327_base
# xtrabackup --prepare --apply-log-only --target-dir=/backup/backupset/20180327_base --incremental-basedir=/backup/backupset/20180327_inc1

压缩备份

# xtrabackup --backup --compress --datadir=/var/lib/mysql/ --target-dir=/backup/backupset/20180327_base
# xtrabackup --backup --compress --compress-threads=4 --datadir=/var/lib/mysql/ --target-dir=/backup/backupset/20180327_base

压缩备份prepare 之前需要先解压

# xtrabackup --decompress --target-dir=/backup/backupset/20180327_base
# xtrabackup --parallel=4 --decompress --target-dir=/backup/backupset/20180327_base

恢复

# xtrabackup --copy-back --target-dir=/backup/backupset/20180327_base
# xtrabackup --move-back 

记得查看权限

# chown -R mysql:mysql /var/lib/mysql
posted @ 2018-03-27 20:43  peiybpeiyb  阅读(412)  评论(0编辑  收藏  举报