zoukankan      html  css  js  c++  java
  • my12_xtrabackup压缩备份与恢复

    xtrabackup版本

    # rpm -qa | grep xtrabackup

    percona-xtrabackup-24-2.4.12-1.el7.x86_64

    此版本为目前比较新的版本(2018-08-13),没有安装时可按下面步骤进行安装

    wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.12/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm

    # yum install -y libev #缺少 libev.so.4时安装
    # yum localinstall -y percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm

    innobackupex压缩备份简述

    主要使用两个参数,compress表示压缩,compress-threads表示使用的线程数;压缩方式使用qpress命令进,方式就是备份完就使用该命令压缩,压缩后的文件都以.qp结尾;压缩比例约在3:1至4:1之间。

    innobackupex --defaults-file=/etc/my_bakdb.cnf --no-timestamp --compress --compress-threads=2 --user automng --host=192.168.56.82 --port=3319 --password ********* /data0/backup/dbbak_20180813

    [root@red4 dbbak_20180813]# ls
    backup-my.cnf.qp   ibdata1.qp  performance_schema  txdb                       xtrabackup_checkpoints  xtrabackup_logfile.qp
    ib_buffer_pool.qp  mysql       sys                 xtrabackup_binlog_info.qp  xtrabackup_info.qp
    
    [root@red4 dbbak_20180813]# cd txdb/
    [root@red4 txdb]# ls
    db.opt.qp        sbtest11.ibd.qp  sbtest13.ibd.qp  sbtest15.ibd.qp  sbtest2.ibd.qp  sbtest4.ibd.qp  sbtest6.ibd.qp  sbtest8.ibd.qp
    sbtest10.frm.qp  sbtest12.frm.qp  sbtest14.frm.qp  sbtest1.frm.qp   sbtest3.frm.qp  sbtest5.frm.qp  sbtest7.frm.qp  sbtest9.frm.qp
    sbtest10.ibd.qp  sbtest12.ibd.qp  sbtest14.ibd.qp  sbtest1.ibd.qp   sbtest3.ibd.qp  sbtest5.ibd.qp  sbtest7.ibd.qp  sbtest9.ibd.qp
    sbtest11.frm.qp  sbtest13.frm.qp  sbtest15.frm.qp  sbtest2.frm.qp   sbtest4.frm.qp  sbtest6.frm.qp  sbtest8.frm.qp

    解压脚本

    # cat test.sh 
    #!/usr/bin/env bash
    cd /data0/backup/dbbak_20180813/;
    for i in $(find . -name "*.qp"); 
    do 
      qpress -d $i  $(dirname $i) && rm -f $i; 
    done

     qpress没有时可按下面的步骤进行安装

    qpress官网下载qpress-11-linux-x64.tar
    http://www.quicklz.com/
    tar -xvf qpress-11-linux-x64.tar
    mv qpress /usr/local/bin/
    which qpress
    /usr/local/bin/qpress

    全备恢复--生成恢复库

    innobackupex --user automng --host=192.168.56.82 --port=3319 --password ********** --apply-log /data0/backup/dbbak_20180813

    全备恢复--备份现有库

    mysqladmin shutdown -uautomng -p********** -P3319

    mv bakdb/ bakdb_20180813

    全备恢复

    innobackupex --copy-back复制恢复好的库到相应配置文件中指定的位置,要指定defaults-file参数,否则mysql会按自己的默认顺序去寻找配置文件。

    [root@red4 ~]# innobackupex --defaults-file=/etc/my_bakdb.cnf --copy-back /data0/backup/dbbak_20180813

    复制完后要进行授权

    chown -R mysql.mysql bakdb

    mysqld_safe --defaults-file=/etc/my_bakdb.cnf --user=mysql &

    mysql -uautomng -p********* -P3319

     恢复位置

    # cat xtrabackup_binlog_info
    mysql-bin.000038 17654

    xtrabackup_binlog_info 文件记录了我们备份的是哪一时刻的数据,如果你是测试库,备份完成后没有事务产生,那么可以看到库的中master status与该位置相同

    mysql> show master statusG;
    *************************** 1. row ***************************
                 File: mysql-bin.000038
             Position: 17654
         Binlog_Do_DB: 
     Binlog_Ignore_DB: 
    Executed_Gtid_Set: 
    1 row in set (0.00 sec)
    
    ERROR: 
    No query specified

    这样就很容易明白,xtrabackup xtrabackup_binlog_info 文件中记录的位置是指备份结束时的位置,备份过程中的事务变化会包含在备份文件(具体是日志文件)中,在恢复时apply-log参数会应用这些日志

     

  • 相关阅读:
    winphone 开发学习笔记(1)
    Performance testing of web application
    每天几步一点点
    其实做测试也不是想象中的简单
    【2019杭州集训12.09】向量
    【2019杭州集训】12.09训练总结
    【2019杭州集训】12.08训练总结
    burnside定理学习小计
    【CSP-S2019D2T3】树的重心
    【CSP-S2019D1T3】树上的数
  • 原文地址:https://www.cnblogs.com/perfei/p/9467917.html
Copyright © 2011-2022 走看看