http://blog.csdn.net/dbanote/article/details/13295727
http://blog.csdn.net/yangzhawen/article/details/50457922
http://blog.csdn.net/yangzhawen/article/details/28864763
Xtrabackup是由percona开发的一个开源软件,它是innodb热备工具ibbackup(收费的商业软件)的一个开源替代品。Xtrabackup由个部分组成:xtrabackup和innobackupex,其中xtrabackup工具用于备份innodb和 xtraDB引擎的表;而innobackupex工具用于备份myisam和innodb引擎的表,本文将介绍如何用innobackupex工具做全量和增量备份。
官网:http://www.percona.com/docs/wiki/percona-xtrabackup:start
安装
声明:以下操作最好以MySQL用户执行。
首先,通过wget下载源码tar包:
- wget http://www.percona.com/redir/downloads/XtraBackup/LATEST/source/percona-xtrabackup-2.1.5.tar.gz
安装依赖包:
- yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bison libtool ncurses-devel zlib-devel
解压缩tar:
- tar -zxvf percona-xtrabackup-2.1.5.tar.gz
- cd percona-xtrabackup-2.1.5
utils/build.sh脚本会根据指定的引擎版本,自动解压缩适当的MySQL源码包并进行编译,这是最简单的安装方式。当你在命令行下不带任何参数执行该脚本时,出现如下提示:
- [[email protected] ~/software/percona-xtrabackup-2.1.5 ]$ ./utils/build.sh
- Build an xtrabackup binary against the specified InnoDB flavor.
- Usage: build.sh CODEBASE
- where CODEBASE can be one of the following values or aliases:
- innodb51 | plugin build against InnoDB plugin in MySQL 5.1
- innodb55 | 5.5 build against InnoDB in MySQL 5.5
- innodb56 | 5.6,xtradb56, build against InnoDB in MySQL 5.6
- | mariadb100
- xtradb51 | xtradb,mariadb51 build against Percona Server with XtraDB 5.1
- | mariadb52,mariadb53
- xtradb55 | galera55,mariadb55 build against Percona Server with XtraDB 5.5
根据上面提示和你使用的存储引擎及版本,选择相应的参数即可。因为我用的是MySQL 5.6,所以执行如下语句安装:
- ./utils/build.sh innodb56
以上语句执行成功后,表示安装完成。最后,把生成的二进制文件拷贝到一个自定义目录下(本例中为/home/mysql/admin/bin/percona-xtrabackup-2.1.5),并把该目录放到环境变量PATH中。
- cp ./innobackupex /home/mysql/admin/bin/percona-xtrabackup-2.1.5
- cp ./src/xtrabackup_56 ./src/xbstream /home/mysql/admin/bin/percona-xtrabackup-2.1.5
- 这里我是把他直接cp到/usr/bin目录下
我这里的MySQL版本是5.6.23
我这里用的xtrabackup的版本是2.1.9
安装的过程遇到的问题
1:./utils/build.sh: line 173: patch: command not found
解决方法是:yum -y install patch
然后再次执行
./utils/build.sh innodb56
这里我们创建一个普通的用户来进行热备
用户拥有的权限有
SELECT, RELOAD, SHOW DATABASES, LOCK TABLES
权限列表
1.Select 读取
2.SHOW DATABASES 允许访问完整的数据库列表
4. LOCK TABLES 允许锁定表
5.RELOAD 允许载入和刷新服务器缓存