Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2814158
  • 博文数量: 587
  • 博客积分: 6356
  • 博客等级: 准将
  • 技术积分: 6410
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-23 10:54
个人简介

器量大者,福泽必厚

文章分类

全部博文(587)

文章存档

2019年(3)

2018年(1)

2017年(29)

2016年(39)

2015年(66)

2014年(117)

2013年(136)

2012年(58)

2011年(34)

2010年(50)

2009年(38)

2008年(16)

分类: LINUX

2013-10-20 02:47:52

1:安装,为了方便,我使用的是二进制版本
tar zxvf percona-xtrabackup-2.1.3-608.tar.gz
mv percona-xtrabackup-2.1.3  /usr/local
cd /usr/local 
ln -s  percona-xtrabackup-2.1.3    xtrabackup
到此安装已经完成
2:使用
./xtrabackup_55: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:见附件

即使用:yum -y install libaio-devel
2.1:备份
 完全备份:
 

上面的命令有问题,正确的命令为:

/usr/local/xtrabackup/bin/xtrabackup_55  --user=root --password=k*****1 --backup --target_dir=/home/innodbbackup/  > /home/innodbbackup.log 2>&1

###创建一个完全备份

/home/innodbbackup/ 目录可以不存在,如果不存在,自己可以创建!
备份的过程写入到/home/innodbbackup.log文件里!



.....
更详细的备份过程,查看/home/innodbbackup.log 即可 !

备份后,去备份目录里面查看,见附件

或使用另外一个工具,
/usr/local/xtrabackup/bin/innobackupex    --defaults-file=/etc/my.cnf  --user=root --password=k*****01  /home/innodbbackup/  > /home/innodbbackup.log 2>&1
这时提示有问题,见附件

解决方法:
cp  /usr/local/xtrabackup/bin/*  /usr/bin
再次执行上面的命令,提示无法创建目录,见附件
innobackupex: Error: Failed to create backup directory /home/innodbbackup//2013-10-20_00-06-58: No such file or directory at /usr/local/xtrabackup/bin/innobackupex line 389

解决方法 :

mkdir /home/innodbbackup

上面是对所有的db进行完全的备份,如果仅仅需要备份其中的某个库或某个库的某个表,如下:

备份某个库中的某个表:

# /usr/local/xtrabackup/bin/innobackupex --include='^db1[.]rtmp*****new'  --user=root --password=ku****01 /home/innodbbackup

显然只是备份了db1.rtmp****new这张表,但其他的db还是会有的,尽管db是空的!


这个也可以实现对某个db的备份,只需要把单个表的表名替换成*即可
 /usr/local/xtrabackup/bin/innobackupex --include='^db1[.]*'  --user=root --password=k****01 /home/innodbbackup

2.2:增量备份:
innobackupex --incremental /home/incremental/ --incremental-basedir=/home/innodbbackup/2013-10-20_00-10-26/   --user=root --password=k*****01




2.3:恢复数据
我在test库中,创建一个最简单的表,往表中插入了3条数据,然后执行一次全备份。接着我将test库给删除了。
我准备使用权备份恢复,大概过程如下:

显然恢复的时候,必须使得var目录为空,并且mysql服务处于关闭状态,如果是在线状态,恢复不了!
drop database test;

cd  /data/mysql/var

rm  -fr  *

/etc/init.d/mysqld  stop

[root@web1 var]# /usr/local/xtrabackup/bin/innobackupex   --user=root --password=k****01 --copy-back   /home/innodbbackup/2013-10-20_01-52-26/

InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy

and Percona Ireland Ltd 2009-2012.  All Rights Reserved.


This software is published under


the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.

IMPORTANT: Please check that the copy-back run completes successfully.

           At the end of a successful copy-back run innobackupex

           prints "completed OK!".

……

cd /data/mysql/var

chown   –R mysql:   *

然后启动mysql ,/etc/init.d/mysql start

登录到机器上,查看记录数发现和以前记录数一样!

这两个工具的区别,见附件


阅读(3341) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~