天天看點

Xtrabackup安裝及使用

簡介:

  Xtrabackup是一個對InnoDB做資料備份的工具,支援線上熱備份(備份時不影響資料讀寫),是商業備份工具InnoDB Hotbackup的一個很好的替代品。

    Xtrabackup有兩個主要的工具:xtrabackup、innobackupex

  (1)xtrabackup隻能備份InnoDB和XtraDB兩種資料表,而不能備份MyISAM資料表

  (2)innobackupex-1.5.1則封裝了xtrabackup,是一個腳本封裝,是以能同時備份處理innodb和myisam,但在處理myisam時需要加一個讀鎖

環境:CentOS 5.4,xtrabackup-1.6.tar.gz

2、檢查伺服器是否安裝了Mysql版本,如果沒有就要安裝好mysql

   my.cnf中必須有datadir=/var/lib/mysql

3、開始安裝xtrabackup

     1)解壓     

         cd /qeedoodb/setup

         tar zxvf xtrabackup-1.6.tar.gz 

     2)拷貝innobackupex、xtrabackup、xtrabackup_51 工具到/usr/bin

        cp /qeedoodb/setup/xtrabackup-1.6/bin/innobackupex /usr/bin/innobackupex

        cp /qeedoodb/setup/xtrabackup-1.6/bin/xtrabackup  /usr/bin/xtrabackup

        cp /qeedoodb/setup/xtrabackup-1.6/bin/xtrabackup_51  /usr/bin/xtrabackup_51

4、備份并打包壓縮

      innobackupex --user=root --password=123456 --defaults-file=/etc/my.cnf --database=zztx --stream=tar /data/back_data/ 2>/data/back_data/zztx.log | gzip     1>/data/back_data/zztx.tar.gz

      說明:

      --database=zztx 單獨對zztx資料庫做備份 ,若是不添加此參數那就那就是對全庫做備份

      2>/data/back_data/zztx.log  輸出資訊寫入日志中

      1>/data/back_data/zztx.tar.gz 打包壓縮存儲到該檔案中

      此處可以寫個腳本做備份(backup.sh)

      #!/bin/sh

      echo "開始備份..."`date`

      log=zztx01_`date +%y%m%d%H%M`.log

      str=zztx01_`date +%y%m%d%H%M`.tar.gz

      innobackupex --user=root --password=123456 --defaults-file=/etc/my.cnf --database=zztx --stream=tar /data/back_data/ 2>/data/back_data/$log | gzip 1>/data/back_data/$str

      echo "備份完畢..."`date`

5、恢複資料

      1) 先停止資料庫:service mysqld stop

      2) 解壓 tar -izxvf zztx.tar.gz -C /data/back_data/db/   (沒有db ,需要mkdir /data/back_data/db/)  

      3) 恢複 innobackupex --user=root --password --defaults-file=/etc/my.cnf  --apply-log /data/back_data/db/  (--apply-log選項的指令是準備在一個備份上啟動mysql服務)

              innobackupex --user=root --password --defaults-file=/etc/my.cnf  --copy-back /data/back_data/db/  (--copy-back 選項的指令從備份目錄拷貝資料,索引,日志到my.cnf文   件裡規定的初始位置。)

      4) 賦權 chown -R mysql.mysql /var/lib/mysql/*

      5) 重新開機資料庫 service mysqld restart

      6) 删除垃圾 cd /var/lib/mysql/  && rm xtrabackup*

      進入資料庫檢視,一切OK~

 本文轉自 holy2009 51CTO部落格,原文連結:http://blog.51cto.com/holy2010/545158

下一篇: pkill