https://www.percona.com/downloads/XtraBackup/LATEST/
一、下载与安装 1、下载 wget
2、安装依赖库
如果是debian系列的话
apt-get install debhelper autotools-dev libaio-dev wget automake libtool bison libncurses-dev libz-dev cmake bzr
如果是redhat系列的话
yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bison libtool ncurses-devel zlib-devel
Centos6.5 依赖一下包
安装以下依赖包:
[root@Web1 ~]# yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL
3、解压
tar zxvf xtrabackup-1.6.7.tar.gz
4、进入目录
cd xtrabackup-1.6.7
5、复制 cd bin
cp * /usr/bin
然后就安装完成了,下面开始备份
其中,
innobackupex是我们要使用的备份工具;
xtrabackup是被封装在innobackupex之中的,
innobackupex运行时需要调用它;
xtrabackup_51是xtrabackup运行时需要调用的工具;
tar4ibd是以tar流的形式产生备份时用来打包的工具。
6、对某个数据库进行全部备份的命令介绍
innobackupex --user=root --password=123456 --defaults-file=/etc/mysql/my.cnf --database=test
--stream=tar /tmp/data/ 2>/tmp/data/err.log|gzip 1>/tmp/data/test.tar.gz
说明:
--database=test 单独对test数据库做备份 ,若是不添加此参数那就那就是对全库做备份
2>/tmp/data/err.log 输出信息写入日志中
1>/tmp/data/test.tar.gz 打包压缩存储到该文件中
备份脚本:
[root@localhost main]# cat xbackup.sh
now=`date +%Y%m%d`
#all_back=db_all$now.gz
all_back=db_all$now.tar.gz
innobackupex --user=root --password=hjb2015 --defaults-file=/etc/my.cnf --stream=tar /main/backfiles/ 2>/main/backfiles/bak_err$now.log | gzip >/main/backfiles/$all_back
DUMP=/main/backfiles
find $DUMP -name "*.gz" -mtime +7 -exec rm {} \;
find $DUMP -name "*.log" -mtime +7 -exec rm {} \;
4.编辑crontab文件如下:
[root@wg1 oracle]# crontab -e -u mysql
51 16 * * * /mydata/autoback.sh

恢复时:
解压:
[root@localhost backfiles]# pwd
/main/backfiles
[root@localhost backfiles]#tar -ixzvf db_all20151116.tar.gz -C restore/
[root@localhost backfiles]innobackupex --user=root --password=hjb2015 --apply-log /main/backfiles/restore
为了加快速度,一般建议设置--use-memory
把要恢复的数据库同步到数据目录下(也叫复制,相当于把它们复制到 /data/下了)
rsync -avz p2p ib* /main/mysql-5.6.27/data
修改数据库用户组
chown -R mysql:mysql
p2p
进行增量备份
第一种写法不容易看出路径,/tmp/restore是全部路径 /tmp/data是增量备份路径
第二种写法
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --incremental-basedir=/tmp/restore --incremental
/tmp/data
需要注意如下两个参数:
--incremental-basedir指向全备目录;
--incremental指向增量备份的目录;

增量备份的恢复
注意:这里/emp/restore 是全备的路径




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29893219/viewspace-1851446/ ,如需转载,请注明出处,否则将追究法律责任。