Chinaunix首页 | 论坛 | 博客
  • 博客访问: 110040
  • 博文数量: 13
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 195
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-23 13:16
个人简介

数据库领域专心吃草

文章分类

全部博文(13)

文章存档

2015年(1)

2014年(4)

2013年(8)

我的朋友

分类: Mysql/postgreSQL

2013-12-13 09:19:31

      最近总结了部分xtrabackup的增量备份与恢复的步骤,好记性不如烂笔头。为了测试方便使用的是root账户来备份mysql,正常生产环境还是要使用特定的备份账户来备份。

     简要记录一下大概步骤:
     

     增量备份


     1、对mysql做全备,这是做增量备份的前提。

点击(此处)折叠或打开

  1. innobackupex --defaults-file=/etc/my.cnf /innobackup/base --user=root --password=123456 --no-timestamp
         备份完成后,在/innobackup中会创建全备的文件夹base。

      2、在mysql中进行部分修改然后基于全备做第一次增量备份

点击(此处)折叠或打开

  1. innobackupex --incremental /innobackup/base-1 --user=root --password=123456 --no-timestamp --incremental-dir=/innobackup/base
         备份完成后,在/innobackup中会创建第一次的增量备份文件夹base-1

      3、在mysql中进行部分修改然后基于第一次的增量备份做第二次的增量备份

点击(此处)折叠或打开

  1. innobackupex --incremental /innobackup/base-2 --user=root --password=123456 --incremental-basedir=/innobackup/base-1 --no-timestamp
        备份完成后,在/innobackup中会创建第二次的增量备份文件夹base-2

     增量恢复

        xtrabackup的增量恢复的方法是分别将增量备份跟全备进行合并,然后再将全备进行恢复。

        恢复的步骤如下:

        1、将第一次的增量备份合并到全备

点击(此处)折叠或打开

  1. innobackupex --apply-log --redo-only --incremental /innobackup/base --incremental-dir=/innobackup/base-1
        
        2、将第二次的增量备份合并到全备

点击(此处)折叠或打开

  1. innobackupex --apply-log --redo-only --incremental /innobackup/base --incremental-dir=/innobackup/base-2
        3、模拟数据库故障,删除部分数据

点击(此处)折叠或打开

  1. drop table test2.t1
        4、停掉数据库,删除mysql的datadir下的所有文件,恢复数据,修改datadir的用户权限,然后启动mysql

点击(此处)折叠或打开

  1. service mysql stop

  2. rm -rf /data/mysql/*

  3. innobackupex --copy-back /innobackup/base

  4. chown -R mysql.mysql /data/mysql

  5. service mysql start
        5、检查数据是否被正确的恢复,以上就是比较完整的xtrabackup恢复步骤

        



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