测试环境:

         OS: rhel5

         mysql : mysql-5.6.25-linux-glibc2.5-i686.tar.gz

         xtrabackup: percona-xtrabackup-2.2.10-1.el5.i386.rpm

         这里mysql的通用二进制包安装步骤省略~

         mysql的数据目录建立在一个逻辑卷上    /mydata/data

         mysql的数据备份目录  /backup


1.安装xtrabackup

   # rpm -ivh  percona-xtrabackup-2.2.10-1.el5.i386.rpm

2.建立原始数据

   # mysql

   mysql> create database student;

   mysql> use student;

   mysql> create table user(id tinyint primary key auto_increment not null,name  char(32) not null default '');

   mysql> desc user;

   mysql> insert into user(name)  values ('luochen'),('redhat');

   mysql> select * from user;        ###验证数据是否插入成功

3.完全备份

   # innobackupex --user=root  /backup      ##这里没有设定root密码

   # cd /backup/           ###查看是否有一个已当前时间生成的目录

PS: 如果不进行增量备份想还原完全备份使用下面命令

   # innobackupex  --apply-log    /backup/2015-09-24_10-27-04

   # innobackupex  --copy-back  /backup/2015-09-24_10-27-04

4.修改数据库表中的数据(模以真实的情况)

   # mysql

   mysql> insert into user(name)  values ('zuowei'),('zhangsan');

   mysql> select * from user;

5.进行第一次增量备份(在完全备份的基础上)

   # innobackupex --incremental /backup  --increment-basedir=/backup/2015-09-24_10-27-04

PS: 2015-09-24_10-27-04 为完全备份生成的目录

6.再次修改表中数据

   # mysql

   mysql> use student;

   mysql> delete from user where id in(2,3);

   mysql> insert into user(name) values ('endtime');

   mysql> select * from user;

7.进行第二次增量备份

   # innobackupex   --incremental  /backup  --incremental-basedir=/backup/2015-09-24_10-28-43

PS: 2015-09-24_10-28-43 为第一次增量备份生成的目录

8.模以数据被破坏

   # service mysqld stop

   # rm -rf  /mydata/data/*

9.准备从完全备份和增量备份中恢复数据  

   # innobackupex --apply-log --redo-only  /backup/2015-09-24_10-27-04

   # innobackupex --apply-log --redo-only  /backup/2015-09-24_10-27-04  --incremental-dir=/backup/2015-09-24_10-28-43

    # innobackupex --apply-log --redo-only  /backup/2015-09-24_10-27-04  --incremental-dir=/backup/2015-09-24_10-30-37

10.恢复所有数据

    # innobackupex --copy-back  /backup/2015-09-24_10-27-04

11.改变数据目录文件的所属主组

    # cd /mydata/data

    # chown -R  mysql.mysql  ./*

12.验证数据是否恢复成功

    # mysql

    mysql> use student;

    mysql> select * from user;

PS: 

      2015-09-24_10-27-04    ###完全备份

      2015-09-24_10-28-43    ###第一次增量备份

      2015-09-24_10-30-37    ###第二次增量备份