• ADADADADAD

    Xtrabackup安装+(全备+增量+二进制日志)备份,你值得拥有。[ mysql数据库 ]

    mysql数据库 时间:2024-12-25 09:58:14

    作者:文/会员上传

    简介:

    本文以简单直接给力为目的。1、配置网络yum源(保证虚拟机联网)rm -rf /etc/yum.repos.d/*
    wget –P /home/backup/ http://mirrors.163.com/.help/CentOS6-Base-163.repomv

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    本文以简单直接给力为目的。

    1、配置网络yum源(保证虚拟机联网)

    rm -rf /etc/yum.repos.d/*

    wget –P /home/backup/ http://mirrors.163.com/.help/CentOS6-Base-163.repo

    mv CentOS6-Base-163.repo /etc/yum.repos.d/CentOS-Base.repo

    cd /etc/yum.repos.d/

    mv CentOS6-Base-163.repo CentOS6-Base.repo

    yum clean all

    yum makecache

    2、安装Xtrabackup工具。

    wgethttps://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/tarball/percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz

    tar zxvf percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz -C /usr/src/

    cd /usr/src/

    cd percona-xtrabackup-2.4.4-Linux-x86_64/

    cp bin/* /usr/bin/

    cd/usr/src/

    wget https://www.percona.com/downloads/percona-toolkit/2.2.19/RPM/percona-toolkit-2.2.19-1.noarch.rpm

    yum install -y perl*

    rpm -ivh percona-toolkit-2.2.19-1.noarch.rpm

    3、全备+两次增量备+二进制日志备份。

    mkdir-pv /opt/mysqlbackup/{full,inc,binlog}

    mysql-uroot -p123456

    mysql>createdatabase xingjun;

    mysql>createtable shengong(id int(10),name varchar(20));

    mysql>insertinto shengong values(1,'yi');

    mysql>select* from shengong;

    mysql>exit;


    全备:

    innobackupex--user=root --password=123456 /opt/mysqlbackup/full/

    再次添加数据:

    mysql-uroot -p123456

    mysql>usexingjun;

    mysql>insertinto shengong values(2,'er');

    mysql>select* from shengong;

    mysql>exit;

    第一次增量备份:

    innobackupex--user=root --password='123456' --incremental /opt/mysqlbackup/inc/--incremental-basedir=/opt/mysqlbackup/full/2017-07-09_10-50-00/

    注:2017-07-09_10-50-00此文件为全备。

    mysql-uroot -p123456

    mysql>usexingjun;

    mysql>insertinto shengong values(3,'san');

    mysql>select* from shengong;

    mysql>exit;

    第二次增量备份:

    innobackupex--user=root --password='123456' --incremental /opt/mysqlbackup/inc/--incremental-basedir=/opt/mysqlbackup/inc/2017-07-09_10-50-46/

    注:2017-07-09_10-50-46此文件为第一次增量备份。

    mysql-uroot -p123456

    mysql>usexingjun;

    mysql>insertinto shengong values(4,'si');

    mysql>select* from shengong;

    mysql>exit;

    二进制文件备份:

    cp/usr/local/mysql/data/mysql-bin.000001/opt/mysqlbackup/binlog/

    4、模拟数据丢失。

    servicemysqld stop

    rm-rf /usr/local/mysql/data/*

    5、当当当、重点来了、恢复数据。

    恢复前准备:

    innobackupex--apply-log --redo-only /opt/mysqlbackup/full/2017-07-09_10-50-00/

    注:2017-07-09_10-50-00此为全备。

    innobackupex--apply-log --redo-only /opt/mysqlbackup/full/2017-07-09_10-50-00/--incremental-dir=/opt/mysqlbackup/inc/2017-07-09_10-50-46/

    注:2017-07-09_10-50-46此为第一次增量备份。

    innobackupex--apply-log --redo-only /opt/mysqlbackup/full/2017-07-09_10-50-00/--incremental-dir=/opt/mysqlbackup/inc/2017-07-09_10-54-58/

    注:2017-07-09_10-54-58此为第二次增量备份。


    innobackupex--apply-log /opt/mysqlbackup/full/2017-07-09_10-50-00/

    注:2017-07-09_10-50-00此为全备。

    开始恢复数据:

    innobackupex--copy-back /opt/mysqlbackup/full/2017-07-09_10-50-00/

    注:2017-07-09_10-50-00此为全备。

    6、验证。

    chown-R mysql:mysql /usr/local/mysql/data/

    mysql-uroot -p123456

    mysql>usexingjun;

    mysql>select* from shengong;

    mysql>exit;

    经查看数据库中有三条数据,此时全备+两次增量备份大功告成。


    7、通过二进制日志恢复最后数据。

    mysqlbinlog/usr/local//mysql/data/mysql-bin.000001 > /opt/mysqlbackup/binlog/`date+%F`.sql

    查看第二次增量备份的二进制日志信息和position信息:

    cat/opt/mysqlbackup/inc/2017-07-09_10-54-58/xtrabackup_info

    注:xtrabackup_info其中的一行信息为:binlog_pos = filename'mysql-bin.000001', position '1040'

    vi/opt/mysqlbackup/binlog/2017-07-09.sql

    从# at ##开始删除,一直删除到# at 1040,包括# at 1040。


    注:以下为2017-07-09.sql文件信息。

    #at 205

    #17070910:55:53 server id 1 end_log_pos 320 CRC32 0x07b5d487 Query thread_id=2exec_time=1380 error_code=0

    use`xingjun`;

    SETTIMESTAMP=1499612153;

    insertinto shengong values(10,'d')

    ;


    然后保存退出。


    开始恢复:

    mysql-uroot -p123456

    mysql>set sql_log_bin=0;

    mysql>usexingjun;

    mysql>source/opt/mysqlbackup/2017-07-09.sql

    mysql>select* from shengong;

    mysql>set sql_log_bin=1;

    mysql>exit;

    经查看数据库中有四条数据,此时全备+两次增量备份+二进制日志备份大功告成。