zoukankan      html  css  js  c++  java
  • xtrabackup备份选项

    并行备份:
    xtrabackup支持并行备份,就是备份的时候同时开启多个线程,同时进行备份操作,这样能加快备份速度但是会加大IO负担,默认情况下开启一个进程进行备份,使用‘--parallel’选项指定并行备份的线程数量:
    innobackupex -p123123 --parallel=8 /backup
     
    节流备份:
    xtrabackup支持节流备份,也就是节省IO操作的意思,当数据库服务器上没有多余的空闲IO时,可以使用该种方式,使用‘--throttle’限制每秒操作的IO次数:
    innobackupex -p123123 --throttle=200 /backup
     
    压缩备份:
    innobackupex支持压缩备份,使用该功能之后在备份时直接生成经过压缩的备份。
    两种方式:
    1:使用‘--compress’选项进行压缩
    2:使用流的方式进行备份,将备份的tar格式的流重定向到其他压缩软件进行压缩
     
    压缩与并行共用:
    在对数据进行压缩的同时,还能够通过‘--compress-threads’指定压缩线程的数量:
    innobackupex -p123123 --compress --compress-threads=8 /backup
     
    那么能否与‘--parallel’选项合用呢?可以的:
    innobackupex -p123123 --parallel=8 --compress --compress-threads=8 /backup
    这表示将会有8个IO线程备份数据,并将数据传输给8个线程进行压缩。
     
    没错经过压缩之后,在还原之前需要对数据进行解压,进入目录能够发现,除了xtrabackup_checkpoints文件外,其他的都被压缩成了以‘.qp’结尾的文件。
    之前说过使用--compress选项压缩备份文件时,使用的压缩算法是‘quicklz’,‘quicklz’也是一个库,他的官网号称自己是全球最快的压缩库(http://www.quicklz.com/
    其实就是我们解压腾讯的压缩备份.qp文件使用到的qpress!
     
    在备份时使用了--compress选项,解压需要用到qpress,使用qpress -d解压:
    qpress -d test.qp ./
    这表示将test.qp文件解压到当前目录中!
     
    流备份:
    xtrabackup支持流备份,将备份数据以数据流的方式输出
    使用‘--stream’选线可以实现流备份,xtrabackup支持两种流备份:
    1:tar格式的流:
    使用如下指令,将tar格式的流当做标准输出输出到屏幕上,虽然指定了/backup目录,但是对应目录下找不到对应文件:
    innobackupex -p123123 --stream=tar /backup
    因此,我们需要对上述tar格式的流进行重定向:
    innobackupex -p123123 --stream=tar /backup > /backup/back.tar
     
    注意:这里重定向的目录‘/backup/back.tar’跟前面的‘/backup’没有任何关系,重定向可以是任何目录,但是,前面的‘/backup’不能省略,省略就会报错:Missing argument
     
    注意:在官方文档中说了,在解压tar格式的流备份时,需要使用tar指令的‘-i’选项:
    tar -ixvf /backup/back.tar
     
    还能将备份输出到远程主机,不占用本机的磁盘空间:
    innobackupex -p123123 --stream=tar /tmp | ssh root@192.168.1.120 "cat - > /backup/bak.tar"
    这表示将备份直接传输到远程主机‘192.168.1.120’上。
    前提:本机需要被远程主机新信任,也就是无秘钥登录!
     
    也可以在流备份到远程主机时进行压缩操作:
    innobackupex -p123123 --stream=tar /tmp | ssh root@192.168.1.120 "gzip > /backup/dateFullBak.tar.gz";
     
    2:xbstream格式流备份:
    innobackupex -p123123 --stream=xbstream ./ > /backup/fullbak.xbstream
    此处我们将xbstream格式的数据流重定向到了‘/backup/fullbak.xbstream’文件中。
     
    xbstream流备份也能在备份时进行压缩,也是通过‘--compress’进行压缩:
    innobackupex -p123123 --stream=xbstream --compress ./ > /backup/fullbak.xbstream
     
    如何释放xbstream流备份文件?
    通过xbstream指令,-x选项表示释放xbstream流备份到当前目录,如果要释放到制定目录,需要使用—C选项,示例如下:
    xbstream -x -C /backup/zsythink/ < fullbak.xbstream
     
    如果生成的xbstream文件是通过压缩过来的, 那么释放后的xbstream文件释放后的文件为'.qp’文件,还需要用qpress解压,具体方法在前面描述过了!
     
    将xbstream流直接备份到远程主机:
    innobackupex -p123123 --stream=xbstream --compress /tmp | ssh root@192.168.1.120 "xbstream -x -C /backup/datafull"
     
    OK,xtrabackup就先总结到这里!
     
    看到这里,是不是觉得很熟悉?xb文件是不是在哪里见过?
    没错,腾讯的DB冷备就是通过--compress压缩过的xbstream流文件!
    先通过xbstream解压,得到.qp文件,再通过qpress解压成.sql文件!
  • 相关阅读:
    android 之 ListView相关
    android 之 菜单
    android 之 Dialog
    android 之 View
    android 之 service
    android 之 Intent、broadcast
    Service Broadcast简单音乐播放功能
    剑指offer面试题43:n个筛子的点数
    C# LINQ语法
    C# Linq
  • 原文地址:https://www.cnblogs.com/storyawine/p/13526914.html
Copyright © 2011-2022 走看看