简介
innobackupex是Percona提供可以在线进行InnoDB热备份和MyISAM备份工具
innobackupex对innodb的热备份是基于XtraBackup来实现,对于MyISAM引擎备份为全表备份且会产生表锁
官方地址:http://www.percona.com/software/percona-xtrabackup
原理
XtraBackup基于InnoDB的crash-recovery功能。备份时工具会复制innodb的data file,由于不锁表,复制出来的数据是不一致的,在恢复的时候使用crash-recovery,使得数据恢复一致。
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.5
相关依赖安装
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的安装