InnoDB Hot Backup介绍(下)

作者:mail
来自:supu@TaobaoDBA 2009年10月12日星期一
摘要:本文将较为详细的介绍InnoDB Hot Backup(后简称IHB)使用。IHB是Innobase下的一个商用备份软件,可以实现在线备份InnoDB数据表,这里的“在线备份”是指:在备份的同时不阻塞其他连接的读、请求。(本文提供PDF版本下载:点击下载

+++++++++++++++++++++++++++++++++
书接上文
+++++++++++++++++++++++++++++++++

三、 Innobackup

ibbackup仅仅只备份InnoDB数据,甚至连表结构(.frm)也不会备份。他虽然解决了在线备份的问题,但因为需要再单独备份.frm文件以及MyISAM表,使用起来并不方便。

Innobackup则封装了ibbackup的备份、以及MyISAM表的备份功能,可以方便的一次性备份你的InnoDB和MyISAM表。Innobackup首先会调用ibbackup备份你的InnoDB,然后FLUSH TABLE WITH READ LOCK来备份你的MyISAM表,以及.frm文件。所以Innobackup会短暂的锁表(时间长短依赖于你的MyISAM表大小)。所以Innobackup备份一般需要如下条件:
(1).备份的时候没有SLOW QUERY在执行
(2).你的MyISAM表很小(拷贝的时候不会花很长时间)

1. 备份
使用innobackup非常方便,可以一次性备份你的InnoDB和MyISAM表:

innobackup --user=backup --password=backup /etc/my.cnf /disk1/innobackup/
#这里需要注意,你的innobackup和ibbackup都需要在$PATH路径下。
#备份输出参考[附录3]

查看备份文件:

cd /disk1/innobackup/2009-10-12_15-35-58 && ls
backup-my.cnf ibbackup_logfile ibdata2 mysql mysql-stdout
ibbackup_binlog_info ibdata1 ibdata3 mysql-stderr test

2. 恢复

现在我们对目录/disk1/innobackup/2009-10-12_15-35-58中的数据进行恢复:

innobackup --apply-log /etc/my.cnf /disk1/innobackup/2009-10-12_15-35-58
#应用日志ibbackup_logfile
cd /disk1/innobackup/2009-10-12_15-35-58 && ls
backup-my.cnf ibbackup_logfile ibdata2 ib_logfile0 ib_logfile2 mysql mysql-stdout ibbackup_binlog_info ibdata1 ibdata3 ib_logfile1 ib_logfile3 mysql-stderr test
cp -r /disk1/innobackup/2009-10-12_15-35-58/* /disk1/mysql/data/
mysqld_safe --user=mysql &

OK,大功告成!

四、 其他说明

ibbackup备份InnoDB数据时,直接解析InnoDB的数据文件和日志文件,然后将它们拷贝出来,所以使用ibbackup,甚至不需要连接数据库。

参考文献
[1]. http://www.innodb.com/products/hot-backup/
[2]. http://www.innodb.com/doc/hot_backup/manual.htm

[附录1]
InnoDB Hot Backup version 3.0.0; Copyright 2002-2005 Innobase Oy
License A17362 is granted to Personal (orczhou@gmail.com)
(……中间省略若干行)
ibbackup: Maximum page number for a log record 4902
091012 13:05:36  ibbackup: Full backup completed!

[附录2]
InnoDB Hot Backup version 3.0.0; Copyright 2002-2005 Innobase Oy
License A17362 is granted to Personal (orczhou@gmail.com)
(--apply-log works in any computer regardless of the hostname)
Licensed for use in a computer whose hostname is 'sandbox'
(……中间省略若干行)
ibbackup: and the new created log files are at '/disk1/ibbackup/'
091012 13:57:17  ibbackup: Full backup prepared for recovery successfully!

[附录3]
InnoDB Backup Utility v1.5.2; Copyright 2003, 2009 Innobase Oy.
All Rights Reserved.

This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
(……中间省略若干行)
091012 15:40:30  innobackup: innobackup completed OK!

(全文完)

In:

4 responses to “InnoDB Hot Backup介绍(下)”

  1. […] Images 上一篇:读《西游记》 独乐不如众乐 下一篇:InnoDB Hot Backup介绍(下) […]

  2. sam

    您好,有一个问题想请教一下您,我下载了innobackup,然后使用以下命令运行:
    perl innobackup-1.5.2 /etc/my.cnf /backups

    它老显示一条错误信息:

    innobackup: Error: Couldn’t run ibbackup: Unknown option: license

    我想问一下这是什么原因,您能帮帮我吗?谢谢!

  3. @sam 能给出更多的详细信息吗?
    你的Xtrabackup什么版本?如何安装(RPM? 源码?)?还有你的MySQL版本?

  4. innobackup不备份ARCHIVE,不知道是老版本问题还是一贯如此。所以后来我都改用xtrabackup了

Leave a Reply

Your email address will not be published. Required fields are marked *