Chinaunix首页 | 论坛 | 博客
  • 博客访问: 86156
  • 博文数量: 26
  • 博客积分: 90
  • 博客等级: 民兵
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-02 00:25
文章分类
文章存档

2012年(16)

2011年(10)

我的朋友

分类:

2011-12-02 00:27:02

原文地址:xtrabackup的安装与使用 作者:radarruan

xtrabackup是一个很好的mysql数据库热备份工具,他是商业软件innodb hotback很好的替代品,xtrabackup有两个主要的工具,其中xtrabackup只能备份InnoDB和XtraDB两种数据表,innobackupex封装了xtrabackup,可以同时备份MyISAM数据包(但是备份MyISAM数据表的时候会出现短暂的锁表,时间长短要看表的大小),常用的备份与恢复都用innobackex进行操作。

1、安装
我使用的是二进制1.6版本,解压以后就可以直接使用
tar -zxvf xtrabackup-1.6.tar.gz -C /usr/local/xtrabackup/
ln -s /usr/local/xtrabackup/tar4ibd /usr/bin/tar4ibd
ln -s /usr/local/xtrabackup/xtrabackup /usr/bin/xtrabackup
ln -s /usr/local/xtrabackup/xtrabackup_51 /usr/bin/xtrabackup_51
ln -s /usr/local/xtrabackup/xtrabackup_55 /usr/bin/xtrabackup_55
ln -s /usr/local/xtrabackup/bin/innobackupex /usr/bin/innobackupex

2、备份
innobackupex --user=root --password=123456 --defaults-file=/etc/my_bak.cnf --apply-log /usr/local/innobackup > /usr/local/innobackup/innobackup_apply.log 2>&1  

在my_bak.cnf指定要指定datadir路径(datadir=/usr/local/mysql/var)
如果要备份单独某个数据库加参数--databases,如果不加参数代表备份所有数据库
innobackupex --help可以参看使用方法


3、还原
在还原之前将还原服务器上var数据文件夹下面所有的文件都删除
innobackupex --apply-log /root/2011-11-30_03-54-46/  --apply-log表示在恢复过程中需要重启 mysql服务
innobackupex --copy-back /root/2011-11-30_03-54-46/  --copy-back 表示将备份文件cp到 my.cnf定义的数据目录中 

参考下面的文章,了解innobackupex的一些参数选项

注意:
1、注意备份和还原服务器软件的版本
我有次用1.5版本来还原1.6版本备份的数据,报
sh: /usr/bin/xtrabackup: cannot execute binary file
innobackupex-1.5.1: fatal error: no 'mysqld' group in MySQL options
innobackupex-1.5.1: fatal error: OR no 'datadir' option in group 'mysqld' in MySQL options
错误,始终找不出问题在哪里,后来用1.6版还原,问题解决。所以建议还原所使用的版本一定不能低于备份所使用的版本,这也就是为什么高版本支持低版本,但低版本不能预见高版本的原因。

2、注意还原服务器my.cnf服务的my.cnf配置文件
还原的mysql服务器的my.cnf最好配置成备份mysql服务器的my.cnf。如果备份服务器的my.cnf对innodb_buffer_pool_size进行了设置,但是还原服务器是默认值,两者不匹配,就有可能造成还原不成功,报如下错误
111201 10:25:59  InnoDB: Initializing buffer pool, size = 100.0M
111201 10:25:59  InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file ./ib_logfile0 is of different size 0 268435456 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
xtrabackup: innodb_init(): Error occured.
innobackupex: Error: 
innobackupex: ibbackup failed at /usr/bin/innobackupex line 336.

3、注意还原服务器的空闲空间
阅读(1454) | 评论(0) | 转发(0) |
0

上一篇:mysql-mm(双主)

下一篇:按扭构件

给主人留下些什么吧!~~