**基于流式备份mysql的数据到当前主机/backup下,备份方法用stream
(mysql数据库采用二进制格式安装 与其他方法安装的mysql 在启动程序和配置文件的位置可能有差别)
第一步:进行全量备份
[root@web2 ~]#
innobackupex --user=root --password=123 --stream=xbstream --compress
–extra-lsndir=/backup/ /tmp/>/backup/full_backup.stream
##使用 innobackupex 指定用户名密码 压缩 stream格式为xbstream 保存带有lsn文件的目录/backup/ 临时文件目录/tmp(备份完成后自动删除)备份到/backup下
文件名为full_backup.stream
[root@web2 ~]# ls /backup
full_backup.stream xtrabackup_checkpoints xtrabackup_info
第二步:进行增量备份
[root@web2 ~]#
innobackupex --user=root --password=123 --stream=xbstream --compress
–extra-lsndir=/backup/ --incremental --incremental-basedir=/backup/ /tmp>/backup/backup_inc1.stream
指定增量备份文件目录/backup
第三步:再进行一次增量备份
[root@web2 ~]#
innobackupex --user=root --password=123 --stream=xbstream --compress
–extra-lsndir=/backup/ --incremental --incremental-basedir=/backup/ /tmp>/backup/backup_inc2.stream
第四步:安装qpress
root@web2 ~]# tar xvf qpress-11-linux-x64.tar
[root@web2 ~]#chmod +x qpress
[root@web2 ~]# mv qpress /bin
第五步:展开三个备份文件 (完全备份放在/b/full下增量备份放在 /b/inc1/ /b/inc2下)**
[**root@web2 ~]#mkdir /b/{full,inc1,inc2} -pv
[root@web2 ~]#xbstream -x < /backup/full_backup.stream -C /b/full/
[root@web2 ~]#xbstream -x < /backup/backup_inc1.stream -C /b/inc1/
[root@web2 ~]#xbstream -x < /backup/backup_inc2.stream -C /b/inc2/
第六步:解压文件(采用shell脚本的方式进行解压)
[root@web2 ~]# cd /b/full/
[root@web2 full]#for file in find ./ -iname "*.qp"
;do qpress -d $file
(
d
i
r
n
a
m
e
(dirname
(dirnamefile);done
[root@web2 inc1]# cd /b/inc1/
[root@web2 inc1]#for file in find ./ -iname "*.qp"
;do qpress -d $file
(
d
i
r
n
a
m
e
(dirname
(dirnamefile);done
[root@web2 inc2]#cd /b/inc2/
[root@web2 inc2]#for file in find ./ -iname "*.qp"
;do qpress -d $file
(
d
i
r
n
a
m
e
(dirname
(dirnamefile);done
第七步:进行prepare操作(转换文件状态)
[root@web2 ~]#xtrabackup --prepare --apply-log-only --target-dir=/b/full/
[root@web2 ~]#xtrabackup --prepare --apply-log-only --target-dir=/b/full/–incremental-dir=/b/inc1/
[root@web2 ~]#xtrabackup --prepare --apply-log-only --target-dir=/b/full/–incremental-dir=/b/inc2/
第八步:进行还原操作(模拟故障)
[root@web2 inc2]#pkill mysqld(关闭服务)
[root@web2 inc2]#rm -rf /data/mysql/mysql3306/data/*(删除数据文件)
[root@web2 inc2]#xtrabackup --copy-back --target-dir=/b/full/(还原)
[root@web2 inc2]#chown -R mysql.mysql /data(修改数据文件的属主属组)
[root@web2 inc2]#mysqld &(启动mysql)