Chinaunix首页 | 论坛 | 博客
  • 博客访问: 694272
  • 博文数量: 143
  • 博客积分: 1554
  • 博客等级: 上尉
  • 技术积分: 1767
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-10 11:50
文章分类

全部博文(143)

文章存档

2017年(2)

2016年(5)

2015年(16)

2014年(25)

2013年(27)

2012年(16)

2011年(52)

分类: Mysql/postgreSQL

2015-03-08 10:23:52

简介:
  Xtrabackup
是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。
    Xtrabackup
有两个主要的工具:xtrabackupinnobackupex
 
1xtrabackup只能备份InnoDBXtraDB两种数据表,而不能备份MyISAM数据表
 
2innobackupex-1.5.1则封装了xtrabackup,是一个脚本封装,所以能同时备份处理innodbmyisam,但在处理myisam时需要加一个读锁
 
3)使用帮助:

环境:CentOS 5.4,xtrabackup-1.6.tar.gz

1、首先从下载
       wget     

2、检查服务器是否安装了Mysql版本,如果没有就要安装好mysql
   my.cnf
中必须有datadir=/var/lib/mysql

3、开始安装xtrabackup
     1)
解压     
         cd /qeedoodb/setup
         tar zxvf xtrabackup-1.6.tar.gz 
     2)
拷贝innobackupexxtrabackupxtrabackup_51 工具到/usr/bin
        cp /qeedoodb/setup/xtrabackup-1.6/bin/innobackupex /usr/bin/innobackupex
        cp /qeedoodb/setup/xtrabackup-1.6/bin/xtrabackup  /usr/bin/xtrabackup
        cp /qeedoodb/setup/xtrabackup-1.6/bin/xtrabackup_51  /usr/bin/xtrabackup_51
     
  
    
4
、备份并打包压缩
      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
打包压缩存储到该文件中
      
     
此处可以写个脚本做备份(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`
      
5
、恢复数据
      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~

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