xtrabackup 是percona公司(mysqlperformanceblog)的開源項目,目的是實現(xiàn)類似innodb官方的熱備份工具innodb hot backup的功能。但其實xtrabackup還提供了額外的功能(但也有沒實現(xiàn)的功能)。 Xtrabackup中包含兩個工具: xtrabackup – 用于熱備份innodb, x
xtrabackup 是percona公司(mysqlperformanceblog)的開源項目,目的是實現(xiàn)類似innodb官方的熱備份工具innodb hot backup的功能。但其實xtrabackup還提供了額外的功能(但也有沒實現(xiàn)的功能)。
Xtrabackup中包含兩個工具: xtrabackup – 用于熱備份innodb, xtradb表的工具,不能備份其他表。
innobackupex – 對xtrabackup封裝的perl腳本,提供了myisam表備份的能力。
Xtrabackup可以做什么在線(熱)備份整個庫的InnoDB, XtraDB表在xtrabackup的上一次整庫備份基礎(chǔ)上做增量備份(innodb only)。
一.安裝包
XtraBackup:
這里下載的是0.8版本的源碼包
下載MySQL源碼包:
因為是編譯安裝XtraBackup,需要使用MySQL的源代碼
對于64位的系統(tǒng),可以直接下載編譯好的包:
二、 編譯安裝
測試發(fā)現(xiàn)在mysql4.1下面編譯XtraBackup會出錯,使用mysql5.0編譯就可以,生成的可執(zhí)行文件對mysql4.1同樣適用
你也可以下載對應(yīng)平臺的二進制版本XtraBackup,免去編譯安裝的步驟,不過目前二進制版本支持的平臺并不多,所以這里列出編譯的步驟。
#如果使用的是MySQL5.1,目錄改為/mysql-5.1.*/ storage/innobase/
cd mysql-5.0.85/ innobase #進入源代碼目錄
patch –p2
#如果使用的是MySQL5.1,使用fix_innodb_for_backup51.patch
cd .. #進入目錄mysql-5.0.85
./configure
make #我們只需要Make就可以了,不需要Make install
cd innobase/xtrabackup-0.8-src
make #編譯XtraBackup;MySQL5.1必須要使用XtraBackup0.9
編譯成功后,我們會獲得可執(zhí)行文件xtrabackup、innobackupex。為了方便使用,分別將其拷貝到某個$PATH路徑下。(我這里/u01/mysql/bin/是$PATH路徑的一部分)
cp xtrabackup /usr/local/bin/
cp innobackupex-1.5.1 /usr/local/bin/
此步必須否則運行innobackupex-1.5.1會報錯,找不到xtrabackup.
安裝中要注意的問題:
編譯XtraBackup;MySQL5.1必須要使用XtraBackup0.9。
另外,使用MySQL5.1編譯,需要簡單的修改一下XtraBackup的Makefile:
#MySQL 5.0
#INC= -I. -I.. -I./../include -I./../../include
#INNODBOBJS=
#MySQL 5.1
INC= ……
MYSQLOBJS=
安裝完成后,我們就可以使用命令innobackupex來備份我們的了。