时间:2021-07-01 10:21:17 帮助过:45人阅读
Xtrabackup 是percona公司(mysqlperformanceblog)的开源项目,目的是实现类似innodb官方的热备份工具InnoDB Hot Backup的功能。但其实Xtrabackup还提供了额外的功能(但也有没实现的功能)。 Xtrabackup中包含两个工具: xtrabackup - 用于热备份innodb, x
Xtrabackup 是percona公司(mysqlperformanceblog)的开源项目,目的是实现类似innodb官方的热备份工具InnoDB Hot Backup的功能。但其实Xtrabackup还提供了额外的功能(但也有没实现的功能)。
Xtrabackup中包含两个工具: xtrabackup - 用于热备份innodb, xtradb表的工具,不能备份其他表。
innobackupex - 对xtrabackup封装的perl脚本,提供了myisam表备份的能力。
Xtrabackup可以做什么在线(热)备份整个库的InnoDB, XtraDB表在xtrabackup的上一次整库备份基础上做增量备份(innodb only)。
一.安装包
XtraBackup:
这里下载的是0.8版本的源码包
下载MySQL源码包:
因为是编译安装XtraBackup,需要使用MySQL的源代码
对于64位的系统,可以直接下载编译好的包:
二、 编译安装
测试发现在mysql4.1下面编译XtraBackup会出错,使用mysql5.0编译就可以,生成的可执行文件对mysql4.1同样适用
你也可以下载对应平台的二进制版本XtraBackup,免去编译安装的步骤,不过目前二进制版本支持的平台并不多,所以这里列出编译的步骤。
#如果使用的是MySQL5.1,目录改为/mysql-5.1.*/ storage/innobase/
cd mysql-5.0.85/ innobase #进入源代码目录
patch –p2 < . /xtrabackup-0.8-src/fix_innodb_for_backup.patch #给InnoDB源码打上补丁
#如果使用的是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
编译成功后,我们会获得可执行文件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来备份我们的了。