zoukankan      html  css  js  c++  java
  • Xtrabackup安装及使用

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

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

    1、首先从http://www.percona.com/下载
           wget http://www.percona.com/downloads/XtraBackup/XtraBackup-1.6/Linux/binary/i686/xtrabackup-1.6.tar.gz    

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

    3、开始安装xtrabackup
         1)解压    
             cd /qeedoodb/setup
             tar zxvf xtrabackup-1.6.tar.gz
         2)拷贝innobackupex、xtrabackup、xtrabackup_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~

  • 相关阅读:
    Netty学习(四)-TCP粘包和拆包
    Netty学习(三)-Netty重要接口讲解
    Netty学习(二)-Helloworld Netty
    Netty学习(一)-为什么选择Netty
    java学习-NIO(五)NIO学习总结以及NIO新特性介绍
    java学习-NIO(四)Selector
    哈希表 HashTable(又名散列表)
    设计模式-外观模式
    设计模式-装饰模式
    设计模式-适配器模式
  • 原文地址:https://www.cnblogs.com/cosiray/p/2376595.html
Copyright © 2011-2022 走看看