簡介c++
innobackupex是Percona提供能夠在線進行InnoDB熱備份和MyISAM備份工具sql
innobackupex對innodb的熱備份是基於XtraBackup來實現,對於MyISAM引擎備份爲全表備份且會產生表鎖shell
官方地址:http://www.percona.com/software/percona-xtrabackup 工具
原理es5
XtraBackup基於InnoDB的crash-recovery功能。備份時工具會複製innodb的data file,因爲不鎖表,複製出來的數據是不一致的,在恢復的時候使用crash-recovery,使得數據恢復一致。spa
InnoDB維護了一個redo log,又稱爲transaction log,事務日誌,它包含了innodb數據的全部改動狀況。當InnoDB啓動的時候,它會先去檢查data file和transaction log,而且會作二步操做:XtraBackup在備份的時候,一頁一頁地複製innodb的數據,並且不鎖定表,與此同時,XtraBackup還有另一個線程監視着transactions log,一旦log發生變化,就把變化過的log pages複製走。在prepare過程當中,XtraBackup使用複製到的transactions log對備份出來的innodb data file進行crash recovery。線程
安裝日誌
目前官方最新版本爲XtraBackup percona-2.2.5code
相關依賴安裝
yum -y install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bison libtool ncurses5-devel libgcrypt libgcrypt-devel perl-Time-HiRes perl-DBD-MySQL
innobackupex安裝
tar xvf percona-xtrabackup-2.2.5.tar.gz cd percona-xtrabackup-2.2.5 cmake -DBUILD_CONFIG=xtrabackup_release make -j4 make install ln -s /usr/local/xtrabackup/bin/* /bin
SQL備份用戶受權
CREATE USER ’bkpuser’ @’localhost’ IDENTIFIED BY ’s3cret’ ; GRANT SHOW DATABASE, RELOAD, LOCK TABLES, REPLICATION CLIENT ON *. * TO ’bkpuser’ @’localhost’ ; FLUSH PRIVILEGES;
以上完成了innobackupex的安裝