下载地址:
    https://pan.baidu.com/s/1qYvRDFY

    热备份工具,备份不锁表。
    备份时只备份表中记录,不备份表结构
    增量备份时,需要先完全备份,在增量备份
    yum install -y percona-xtrabackup-2.1.6-702.rhel6.x86_64.rpm

    [root@localhost opt]# rpm -ql percona-xtrabackup
    /usr/bin/innobackupex             #支持myisam引擎锁表备份
    /usr/bin/innobackupex-1.5.1       #支持myisam引擎锁表备份
    /usr/bin/xbcrypt
    /usr/bin/xbstream
    /usr/bin/xtrabackup               #5.1版本用这个
    /usr/bin/xtrabackup_55            #给5.5版本用的备份脚本
    /usr/bin/xtrabackup_56            #给5.6版本及以上的版本用的
    /usr/share/doc/percona-xtrabackup-2.1.6
    /usr/share/doc/percona-xtrabackup-2.1.6/COPYING

    /usr/bin/xtrabackup_56  的用法
    --backup  备份数据
    --target-dir=目录名  备份文件存储的位置(就是你把备份的数据存放哪里)
    --datadir=/usr/local/mysql/ 数据库目录
    --prepare  准备恢复数据
    --incremental-basedir=目录名  增量备份时,指定参考的完整备份路径(增量备份的时候用的参数)
    --incrementar-dir=目录名  准备恢复目录时,指定增量备份的据经(把增量备份的数据还原的时候用的参数)

    例题:
    备份数据(在使用增量备份前,首先要来一次完整备份)
    第一次完整备份(备份到/mydata下)
    [root@localhostopt]#xtrabackup_56 --backup  \
    --target-dir=/mydata/ \
    --datadir=/usr/local/mysql/data      
    第一次增量备份(把增量备份的数据备份到/new1)
    [root@localhostopt]# xtrabackup_56 --backup \
    --target-dir=/new1/ \
    --datadir=/usr/local/mysql/data  \
    --incremental-basedir=/mydata/  
    第二次增量备份把增量备份的数据备份到/new2)
    [root@localhost opt]# xtrabackup_56 --backup  
    --target-dir=/new2/
    --datadir=/usr/local/mysql/data --incremental
    --basedir/new1/
      
    数据恢复(我这里的库表操作是db5.liuwenzhi。希望下面出现了db5看得懂)
    先恢复第一次完整备份的数据
    模拟数据丢失
    先备份一下:
    [root@localhost opt]#xtrabackup_56 --prepare --datadir=/usr/local/mysql/data/
    --target-dir=/alldir/</p><p>    mysql&gt; use db5;
    mysql&gt; delete from liuwenzhi;

    拷贝ibd文件到/usr/local/mysql/data/db5/覆盖
    [root@localhost opt]# cp /alldir/db5/liuwenzhi.ibd
    /usr/local/mysql/data/db5</p><p>  
    重启服务
    [root@localhost opt]# /etc/init.d/mysqld restart
    查看恢复内容(恢复到第一次完整备份的那里)
    查看lsn的位置量
    [root@localhost opt]# cat /alldir/xtrabackup_checkpoints
    backup_type = full-prepared
    from_lsn = 0
    to_lsn = 1997713
    last_lsn = 1997713
    compact = 0
    mysql&gt; select * from liuwenzhi;
    再恢复第二次增量备份的数据
    [root@localhost opt]# xtrabackup_56 --prepare --datadir=/usr/local/mysql/data/
    --target-dir=/alldir/ --incremental-dir=/new1/
    在拷贝ibd文件到/usr/local/mysql/data/db5/覆盖
    [root@localhost opt]#  select * from liuwenzhi;
    查看lsn的位置量已更改
    [root@localhost opt]# cat /alldir/xtrabackup_checkpoints
    backup_type = full-prepared
    from_lsn = 0
    to_lsn = 2000761
    last_lsn = 200076
    compact = 0
    第二次恢复同第一次操作一样

    每次增量还原后查看cat /alldir/xtrabackup_checkpoints的lsn位置变量是不是变了

    最后注意的地方就是:
    在还原的时候是要按你每次备份的顺序还原。
    如:增量备份1,2,3次。
    还原的时候还原第三次的时候,一定是要第二次也要还原的。
    这个备份就是靠lsn位的。lsn位有点像mysql的binlog日志所记录的信息差不多,它也有一个标记的位置。
    也可以使用binlog日志备份,时间,或者位置变量这两种方法吧。这个不太清除。</p>