xtrabackup使用xbstream进行增量流备份

使用xbstream选项,如是使用源码安装的percona-xtrabackup,需拷贝xbstream可执行程序到/usr/bin目录:
    
    
    
    
  1. cp src/xbstream /usr/bin/
 
1、创建一个完全备份
    
    
    
    
  1. innobackupex --defaults-file=/opt/mariadb-10.0.12-linux-x86_64/my.cnf --user=backup --password=backup@123 --host=localhost --port=3306 /data/backup/physical/full
 
2、使用xbstream创建一个本地增量备份
    
    
    
    
  1. innobackupex --user=backup --password=backup@123 --host=localhost --port=3306 --defaults-file=/opt/mariadb-10.0.12-linux-x86_64/my.cnf --incremental --incremental-basedir=/data/backup/physical/full/2014-08-06_15-23-25/ --stream=xbstream ./ > /data/backup/physical/inc/`date +%Y%m%d%H%M%S`.xbstream
 
解包备份:小心覆盖了之前的文件,一定要先创建一个空目录
要先创建一个新目录,存储解压文件
    
    
    
    
  1. cd /data/backup/physical/inc
  2. mkdir inc_xbstream
  3. cd inc_xbstream
  4. xbstream -xv -C inc_xbstream/ < 20140806170457.xbstream
 
-x:解压,-v显示详细信息,-C指定解压文件存放目录
 
3、创建一个本地流备份,备份数据发送到远程机器然后解压它(传到远程10.0.37.122这台机器的/data/backup目录)
前提条件:
  1. 远程机器要安装xbstream
  2. 远程机器的目录要存在,同时保证是空目录:远程机器目录存储,备份时报以下错误"xtrabackup: Error writing file 'UNOPENED' (Errcode: 32 - Broken pipe)"
  3. ssh要能连接:使用ssh秘钥免密码输入
完全备份:
    
    
    
    
  1. innobackupex --user=backup --password=backup@123 --host=localhost --port=3306 --defaults-file=/opt/mariadb-10.0.12-linux-x86_64/my.cnf /data/backup/physical/full/
 
增量流备份:
    
    
    
    
  1. innobackupex --user=backup --password=backup@123 --host=localhost --port=3306 --defaults-file=/opt/mariadb-10.0.12-linux-x86_64/my.cnf --incremental /data/backup/physical/inc/ --incremental-basedir=/data/backup/physical/full/2014-08-06_17-53-47/ --stream=xbstream |  ssh root@10.0.37.122 "cat - |xbstream -x -C /data/backup/"
 
调用xtrabackup执行的命令:可以看到临时目录是/tmp
140807 17:09:09  innobackupex: Starting ibbackup with command: xtrabackup  --defaults-file="/opt/mariadb-10.0.12-linux-x86_64/my.cnf"  --defaults-group="mysqld" --backup --suspend-at-end --target-dir=/tmp --tmpdir=/tmp --extra-lsndir='/tmp' --incremental-basedir='/data/backup/physical/full/2014-08-06_17-53-47/' --stream=xbstream
 
使用--tmpdir指定临时目录:
    
    
    
    
  1. innobackupex --user=backup --password=backup@123 --host=localhost --port=3306 --defaults-file=/opt/mariadb-10.0.12-linux-x86_64/my.cnf --incremental --incremental-basedir=/data/backup/physical/full/2014-08-06_17-53-47/ --stream=xbstream --tmpdir=/data/backup/physical/inc/ ./|  ssh root@10.0.37.122 "cat - |xbstream -x -C /data/backup/"

然后看执行的xtrabackup命令:
140807 17:11:59  innobackupex: Starting ibbackup with command: xtrabackup  --defaults-file="/opt/mariadb-10.0.12-linux-x86_64/my.cnf"  --defaults-group="mysqld" --backup --suspend-at-end --target-dir=/data/backup/physical/inc/ --tmpdir=/data/backup/physical/inc/ --extra-lsndir='/data/backup/physical/inc/' --incremental-basedir='/data/backup/physical/full/2014-08-06_17-53-47/' --stream=xbstream
 
注意:
用流备份,默认的临时目录都是系统的/tmp目录,需要保证该目录有足够的空间,或指定--tmpdir选项




来自为知笔记(Wiz)


你可能感兴趣的:(xtrabackup使用xbstream进行增量流备份)