xtrabackup和innobackuppex的安裝和備份(含增量備份)已經恢復

許願流星1號發表於2015-12-02

 一、下載與安裝 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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章