ITPub博客

首页 > 数据库 > MySQL > xtrabackup和innobackuppex的安装和备份(含增量备份)已经恢复

xtrabackup和innobackuppex的安装和备份(含增量备份)已经恢复

原创 MySQL 作者:许愿流星1号 时间:2015-12-02 14:05:55 0 删除 编辑

 一、下载与安装 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博客 ” ,链接:http://blog.itpub.net/29893219/viewspace-1851446/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 日志挖掘
请登录后发表评论 登录
全部评论

注册时间:2014-09-18

  • 博文量
    46
  • 访问量
    411907