Xtrabackup简单使用

来源:互联网 发布:苹果手机间谍软件 编辑:程序博客网 时间:2024/06/05 11:15
1.1 Xtrabackup概念:

InnoDB 有个商业的InnoDB Hotbackup,可以对InnoDB引擎的表实现在线热备。而 percona出品的Xtrabackup,是InnoDB Hotbackup的一个开源替代品,可以在线对InnoDB/XtraDB引擎的表进行物理备份。mysqldump支持在线备份,不过是逻辑备份,效率比较差。xtrabackup是开源的MySQL备份工具,物理备份,效率很不错。
Xtrabackup有两个主要的工具:xtrabackup、innobackupex,其中xtrabackup只能备份InnoDB和XtraDB两种数据表,innobackupex则封装了xtrabackup,同时可以备份MyISAM数据表。Xtrabackup做备份的时候不能备份表结构、触发器等等,智能纷纷.idb数据文件。另外innobackupex还不能完全支持增量备份,需要和xtrabackup结合起来实现全备的功能。

1.2 Xtrabackup安装
这里我们以percona-Xtrabackup2.4.3为例,将软件包拷贝到/usr/local/目录下解压
[root@mysqldb02 local]# tar -zxvf percona-xtrabackup-2.4.3-Linux-x86_64.tar.gz
解压完后
cd /usr/local/percona-xtrabackup-2.4.3-Linux-x86_64/bi目录下,目录下有以下几个文件:
innobackupex xbcloud xbcloud_osenv xbcrypt xbstream xtrabackup
xtrabackup:是用于热备份innodb, xtradb表中数据的工具,不能备份其他类型的表,也不能备份数据表结构;
innobackupex:是将xtrabackup进行封装的perl脚本,提供了备份myisam表的能力。
xbstream:是用于xbstream流备份的脚本,可以通过管道压缩,提高备份压缩的能力。
1.3 将脚本拷贝到/usr/bin、目录下,方便用户调用
cd /usr/local/percona-xtrabackup-2.4.3-Linux-x86_64/bin
cp * -r /usr/bin
拷贝完成后,就可以开始使用innobackupex了
1.4 全库备份
innobackupex --host=192.168.1.1 --port=3388 --user=dba --password=xxxx --stream=tar /tmp/ |gzip >/backup/mysqlbak/mysql.tar.gz
1.5 全库恢复
首先需要先把数据文件还原,这里我们可以使用defaults-file指定my.cnf文件来先还原数据文件
innobackupex --defaults-file=/etc/my.cnf --move-back /data/backup/
--move-back:如果磁盘空间不够用,可以使用该参数进行还原,将数据文件还原到指定的数据文件目录下
1.6 恢复数据库
innobackupex --defaults-file=/etc/my.cnf --apply-log --no-lock /data/mysqldata
1.7 增量备份
[root@localhost ~]# innobackupex --incremental/backup/mysqlbak --incremental-basedir=/backup/mysqlbak/2013-10-04_21-45-03/
0 0