mysql xtrabackup安裝以及簡單使用

mysql xtrabackup安裝以及簡單使用

 

Xtrabackup 是percona公司的開源項目,用以實現類似innodb官方的熱備份工具InnoDB Hot Backup的功能,能夠非常快速地備份與恢復mysql資料庫。Xtrabackup中包含兩個工具:

xtrabackup是用於熱備份innodb和xtradb表中數據的工具,不能備份其他引擎的表,也不能備份數據表結構;

innobackupex是將xtrabackup進行封裝的perl腳本,提供瞭備份myisam表的能力。

 

[root@aeolus1 ~]# rpm -ivh percona-xtrabackup-2.1.3-608.rhel5.x86_64.rpm 
warning: percona-xtrabackup-2.1.3-608.rhel5.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID cd2efd2a
Preparing...                ########################################### [100%]
   1:percona-xtrabackup     ########################################### [100%]
安裝完畢,在/usr/bin 下有如下兩個工具innobackupex和xtrabackup 
root@aeolus1 bin]# ll inno* 
-rwxr-xr-x 1 root root 110738 May 23 02:24 innobackupex
lrwxrwxrwx 1 root root     12 Jun  9 18:18 innobackupex-1.5.1 -> innobackupex
[root@aeolus1 bin]# ll *xtrabackup* 
-rwxr-xr-x 1 root root  2894280 May 23 02:25 xtrabackup
-rwxr-xr-x 1 root root  4494952 May 23 02:25 xtrabackup_55
-rwxr-xr-x 1 root root 11633272 May 23 02:25 xtrabackup_56

 

一個完整的全備過程

1 創建一個全備 

Innobackupex  --user=root  --password=passwd  /root/mysqlbackup/

 

這樣就創建瞭一個全備,備份文件存儲在以時間戳為目錄名下面,

還有以下選項 

--defaults-file=/etc/my.cnf 備份時使用的mysql配置文件
--no-timestamp 不以時間戳命名目錄名

 

2 創建瞭備份之後,數據還不能用於恢復。一些某提交的事務還可能未撤銷或者日志中的事務要重播,為瞭保證數據一致性,我們需要apply日志到備份的文件上。

 innobackupex --apply-log /root/mysqlbackup/2013-06-14_16-20-56

 

這樣備份的數據就可以應用與恢復

3 drop database mysql 然後恢復

 innobackupex --user=root --copy-back /root/mysqlbackup/2013-06-14_16-20-56

 

恢復完畢,改變數據文件的權限,啟動資料庫

chown  -R mysql:mysql    /usr/local/mysql/data

 

 

需要註意的是,全恢復情況下,

 1 伺服器必須關閉,隻要部分恢復的時候,伺服器不用關閉。

 2 datadir參數目錄必須為空,如果存在文件,–copy-back 將不拷貝

  3  每次操作完畢,確認日志最後是否有 innobackupex: completed OK!標志著動作的完成。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。