使用xtrabackup备份innodb引擎的数据库-阿里云开发者社区

开发者社区> 数据库> 正文

使用xtrabackup备份innodb引擎的数据库

简介:
innodb引擎的数据库可以使用mysqldump备份,如果表很大几十个G甚至上百G,显示用mysqldump备份会非常慢。然后使用xtrabackup 可以很快的在线备份innodb数据库。
InnoDB 有个商业的InnoDB Hotbackup,可以对InnoDB引擎的表实现在线热备。而 percona出品的Xtrabackup,是InnoDB Hotbackup的一个开源替代品,可以在线对InnoDB/XtraDB引擎的表进行物理备份。 innobackupex是参考了InnoDB Hotbackup的innoback脚本修改而来的,主要是为了方便的同时备份InnoDB和MyISAM引擎的表,并且加入了一些使用的选项,如 –slave-info可以记录备份恢复后,作为slave需要的一些信息,根据这些信息,可以很方便的利用备份来重做slave。
最新下载地址如下: 
http://www.percona.com/mysql/xtrabackup/0.7/ 
安装如下:
tar zxf xtrabackup-0.7.tar.gz 
cd xtrabackup-0.7 
./configure 
make 
千万不要make install  而是要接着下面的步骤操作。
cd innobase/xtrabackup/ 
make 
make install 

然后,就会在你的/usr/bin目录里安装上两个工具:xtrabackup,innobackupex-1.5.1 

xtrabackup可以在不加锁的情况下备份innodb数据表,不过此工具不能操作myisam。 
innobackupex-1.5.1是一个脚本封装,能同时处理innodb和myisam,但在处理myisam时需要加一个读锁。 

/usr/bin/xtrabackup --backup --target-dir=/backup/mysqlbackup      这里的target-dir 就是要备份到的目录,这个工具不用指定数据库名的,默认会把所有innodb引擎的数据库全部备份。
等备份完了,你会看到 target-dir 下会有所有innodb引擎的库,但是奇怪的是并没有备份 .frm 的文件,这个没有关系,需要你手动拷贝一份即可。


至于恢复,拷贝回去就ok啦。



本文转自 小杨_Ivan 51CTO博客,原文链接:http://blog.51cto.com/aqiang/1896107

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章