Xtrabackup数据库备份工具

第10章--->Xtrabackup
一、Xtrabackup概述
1.1、简介
Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。
    Xtrabackup有两个主要的工具:xtrabackup、innobackupex
  (1)xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表
  (2)innobackupex-1.5.1则封装了xtrabackup,是一个脚本封装,所以能同时备份处理innodb和myisam,但在处理myisam时需要加一个读锁
 
1.2、安装
#wget http://www.percona.com/redir/downloads/XtraBackup/XtraBackup-2.0.0/binary/Linux/x86_64/percona-xtrabackup-2.0.0.tar.gz


# yum -y install perl-*
# tar -xvf percona-xtrabackup-2.0.0.tar.gz
# mv percona-xtrabackup-2.0.0 /usr/local/xtrabackup
# vim /etc/profile
export PATH=$PATH:/usr/local/xtrabackup/bin


#source /etc/profile










1.3、全量备份
#innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 /opt/backup/ >>/opt/backup/backup.log 2>&1
 /opt/backup备份存放的目录
1.4、全量恢复
# /etc/init.d/mysqld stop
# rm /data/dbdata/* -rf  备份成功后。删除掉这个MYSQL的数据目录试试?






开始恢复步骤一
# innobackupex --apply-log --defaults-file=/etc/my.cnf --user=root --password=123456 /opt/backup/2014-04-06_08-25-19/


开始恢复步骤二
# cd /data/dbdata
#innobackupex --user=root --password=zeng --defaults-file=/etc/my.cnf --copy-back /opt/backup/2014-04-06_08-25-19/




1.5、增量备份
(1)、先做全量备份
#innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 /opt/backup/ >>/opt/backup/backup.log 2>&1


(2)、在Mysql里面多创建一个表


(3)、在做增量备份
#--incremental:增量备份的文件夹
#--incremental-dir:针对哪个做增量备份




# innobackupex --user=root --password=123456 --incremental /opt/backup/ --incremental-dir 2014-04-06_10-11-36
#cd /opt/backup
#ls –l
2014-04-06_10-11-36  全量备份包
2014-04-06_12-40-48  增量备份包


1.6、增量恢复
#/etc/init.d/mysqld stop
# innobackupex --copy-back /databackup/2014-04-06_12-40-48 /
# /etc/init.d/mysqld start










1.7、企业真实环境
(1)、
  innobackupex --user=root --password=123456 --defaults-file=/etc/my.cnf --database=zztx --stream=tar /data/back_data/ 2>/data/back_data/zztx.log | gzip     1>/data/back_data/zztx.tar.gz
      
      说明:
      --database=zztx 单独对zztx数据库做备份 ,若是不添加此参数那就那就是对全库做备份
      2>/data/back_data/zztx.log  输出信息写入日志中
      1>/data/back_data/zztx.tar.gz 打包压缩存储到该文件中


(2)、
此处可以写个脚本做备份(backup.sh)
      #!/bin/sh
      echo "开始备份..."`date`
      log=zztx01_`date +%y%m%d%H%M`.log
      str=zztx01_`date +%y%m%d%H%M`.tar.gz
      innobackupex --user=root --password=123456 --defaults-file=/etc/my.cnf --database=zztx --stream=tar /data/back_data/ 2>/data/back_data/$log | gzip 1>/data/back_data/$str
      echo "备份完毕..."`date`






(3)、恢复数据
      1) 先停止数据库:service mysqld stop
      2) 解压 tar -izxvf zztx.tar.gz -C /data/back_data/db/   (没有db ,需要mkdir /data/back_data/db/)  
      3) 恢复 innobackupex --user=root --password --defaults-file=/etc/my.cnf  --apply-log /data/back_data/db/  (--apply-log选项的命令是准备在一个备份上启动mysql服务)
              innobackupex --user=root --password --defaults-file=/etc/my.cnf  --copy-back /data/back_data/db/  (--copy-back 选项的命令从备份目录拷贝数据,索引,日志到my.cnf文   件里规定的初始位置。)
      4) 赋权 chown -R mysql.mysql /var/lib/mysql/*
      5) 重启数据库 service mysqld restart
      6) 删除垃圾 cd /var/lib/mysql/  && rm xtrabackup*
      进入数据库查看,一切OK~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值