作者:
来自: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!
(全文完)
Leave a Reply