stream模式支持且只支持:tar 和 xbstream 两种格式,后者是xtrabackup提供的专有格式,解包时需要同名的专用命令处理innobackupex --defaults-file=/data/mysqldata/3306/my.cnf --user=backup --password="backup" --stream=tar /tmp | gzip -> /data/mysqldata/backup/xtra_full.tar.gzinnobackupex: Created backup directory /tmp这段信息表明,流格式标准输出的数据会被临时保存到我们指定的/tmp目录innobackupex: You must use -i (--ignore-zeros) option for extraction of the tar stream.最后这条提示我们,解包时必须使用-i参数[mysql@master backup]$ du -sh *2.8G2015-07-07_17-11-0314M xtra_full.tar.gz打包压缩后的差距是很大的mkdir xbstreaminnobackupex --defaults-file=/data/mysqldata/3306/my.cnf --user=backup --password="backup" --stream=xbstream ./ > /data/mysqldata/backup/xbstream/incremental.xbstream./是以当前目录作为临时存放备份的目录解包[mysql@master backup]$ cd xbstream/[mysql@master xbstream]$ xbstream -x < incremental.xbstream[mysql@master xbstream]$ lsbackup-my.cnfibdata1 mysql sakilaxtrabackup_binlog_infoxtrabackup_infofandbincremental.xbstreamperformance_schematestxtrabackup_checkpointsxtrabackup_logfileIncremental Streaming Backups using xbstream and tar Incremental streaming backups can be performed with the xbstream streaming option. Currently backups are packed in custom xbstream format. With this feature taking a BASE backup is needed as well.Taking a base backup: innobackupex /data/backupsTaking a local backup: innobackupex --incremental --incremental-lsn=LSN-number --stream=xbstream ./ > incremental.xbstreamUnpacking the backup: xbstream -x < incremental.xbstreamTaking a local backup and streaming it to the remote server and unpacking it:innobackupex--incremental --incremental-lsn=LSN-number --stream=xbstream ./ | /ssh user@hostname " cat - | xbstream -x -C > /backup-dir/"测试:[mysql@master xbstream]$ xbstream -x -v < incremental.xbstream[mysql@master xbstream]$ lsbackup-my.cnfibdata1 mysql sakilaxtrabackup_binlog_infoxtrabackup_infofandbincremental.xbstreamperformance_schematestxtrabackup_checkpointsxtrabackup_logfile可以是用-C指定解压到哪个目录xbstream -x -v < incremental.xbstream -C /tmp[mysql@master xbstream]$ more xtrabackup_checkpoints backup_type = full-backupedfrom_lsn = 0to_lsn = 143684677last_lsn = 143684677compact = 0recover_binlog_info = 0官方文档示例有问题,最后改成这样:innobackupex --defaults-file=/data/mysqldata/3306/my.cnf --user=backup --password="backup" --incremental --incremental-lsn=143684677 --stream=xbstream ./ | ssh mysql@192.168.255.202 "xbstream -x -C/data/mysqldata/backup/"远程端:[mysql@slave backup]$ lsbackup-my.cnfibdata1.deltamysql sakilaxtrabackup_binlog_infoxtrabackup_infofandbibdata1.meta performance_schematestxtrabackup_checkpointsxtrabackup_logfile
Compact Backups
当备份innodb表时,可以忽略secondary index pages.这回缩小备份集的大小.负面影响是,这回增加prepare用时,因为要重建secondary index Compact Backups需开启innodb-file-per-tableinnobackupex --defaults-file=/data/mysqldata/3306/my.cnf --user=backup --password="backup" --compact /data/mysqldata/backup/查看xtrabackup_checkpoints可以看到compact = 1[mysql@master 2016-08-22_22-50-51]$ more xtrabackup_checkpoints backup_type = full-backupedfrom_lsn = 0to_lsn = 143789687last_lsn = 143789687compact = 1recover_binlog_info = 0