zoukankan      html  css  js  c++  java
  • xtrabackup配置与使用

    1 介绍

    本文用来介绍如何使用percona公司的xtrabackup备份工具

    参考资料:https://www.cnblogs.com/shenxm/p/7862247.html
    
    

    2 安装

    yum localinstall percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm -y
    

    3 使用

    由于innobackupex命令既可以备份innodb又可以备份myisam表,因此主要介绍此工具的用法

    # 备份slave库上的数据。加上此参数会输出master库上的binlog信息
    --slave-info
    

    3.1 全备备份

    1.全量备份
    /usr/bin/innobackupex --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --host=127.0.0.1 --user=root --password=mvtech123 /data/20181129 --no-timestamp --slave-info --parallel=2 --throttle=800
    2.恢复全量备份
        2.1 关闭mysql
        2.2 重命名mysql的数据目录和日志目录
            mv /data/mysql/data /data/mysql/data_20181129
            mv /data/mysql/log /data/mysql/log_20181129
        2.3 应用日志
            innobackupex --apply-log --use-memory=200G  /data/20181129/
        2.4 恢复 注:恢复有两种方式--move-back 和--copy-back,move-back速度快,但备份文件被move后就不存在,请根据实际情况进行选择
            innobackupex --defaults-file=/etc/my.cnf --move-back  /data/20181129/
        2.5 修改权限
            chown -R mysql:mysql /data/mysql
        2.6 启动mysql
            service mysqld start
    

    3.2 增量备份

    增量备份是在全量备份的基础上进行

    1. 增量备份
        innobackupex --defaults-file=/etc/my.cnf --host=127.0.0.1 --user=root --password=mvtech123 --parallel=4 --throttle=400 --incremental-basedir=/data/20181129  --no-timestamp --slave-info --incremental /data/20181130
    2. 恢复
        2.1 关闭mysql
        2.2 重命名mysql的数据目录和日志目录
            mv /data/mysql/data /data/mysql/data_20181129
            mv /data/mysql/log /data/mysql/log_20181129
        2.3 对全量备份做prepare
            innobackupex --apply-log --redo-only /data/20181129
        2.4 对增量备份做prepare 
                --redo-only:若只有一个增量备份或是最后那个增量备份文件,那么不需要这个选项,原因同上。也就是说这个选项不能用于最后一个增量备份进行prepare。
                --incremental-dir=:此选项对应的目录为增量备份文件的目录
            innobackupex --apply-log [--redo-only] /data/20181129 --incremental-dir=/data/20181130 
        2.5 查看prepare情况 查看全量备份文件中的xtrabackup_checkpoints
            发现last_lsn = 508150192已经和最后一次备份一致
        2.6 恢复 注:恢复有两种方式--move-back 和--copy-back,move-back速度快,但备份文件被move后就不存在,请根据实际情况进行选择
            innobackupex --defaults-file=/etc/my.cnf --move-back  /data/20181129/
        2.7 修改权限
            chown -R mysql:mysql /data/mysql
        2.8 启动mysql
            service mysqld start
    

    附录1 生产全备示例脚本

    #!/bin/bash
    #This script is xtrabackup full backup mysql
    #The Author is mvtech by 2018
    
    #格式化日期
    today=$(date +%Y%m%d)
    deleteDay=`date -d "-1 days" +%Y%m%d`
    echo "--------------------------------------------------------"
    echo "-------------------Today is $today----------------------"
    echo "--------------------Start backup------------------------"
    echo "--------------------------------------------------------"
    #定义变量
    blxxDir="/data/xtrabackup/$today"
    delDir="/data/xtrabackup/$deleteDay"
    #创建备份文件夹
    mkdir -p $blxxDir
    #全量备份
    /usr/bin/innobackupex --defaults-file=/etc/my.cnf --socket=/data/mysql/mysql.sock --host=10.99.0.81 --user=weihu --password=Mvtech123!@ $blxxDir --slave-info --no-timestamp --parallel=8 --throttle=800 
    #删除2天以前的备份
    rm -rf $delDir
    

    附录2 备份文件夹里文件说明

    序号 文件名称 文件用途
    1 xtrabackup_binlog_info 记录导出mysql的binlog信息
    2 xtrabackup_checkpoints 记录备份方式
    3 xtrabackup_info 记录此次备份的详细信息
    4 xtrabackup_logfile 备份的重做日志文件
    5 xtrabackup_slave_info 记录备份slave节点时主机上的binlog信息,需要添加--slave-info参数
  • 相关阅读:
    CF Spreadsheets (数学)
    CF Theatre Square
    CF Error Correct System
    CF Playing with Paper
    HDU 3533 Escape (BFS + 预处理)
    nginx配置文件
    nginx配置文件详解
    Jenkins+maven+gitlab+shell实现项目自动化部署
    jenkins升级
    jenkins相关下载链接
  • 原文地址:https://www.cnblogs.com/sdhzdtwhm/p/10043473.html
Copyright © 2011-2022 走看看