• mysql-xtrabackup备份恢复


    1、xtrabackup的安装

    8.0版本-支持mysql8

    wget https://www.percona.com/downloads/Percona-XtraBackup-LATEST/Percona-XtraBackup-8.0-7/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.7-1.el7.x86_64.rpm

    2.4版本支持mysql5.7

    https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.15/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.15-1.el7.x86_64.rpm
    或者下载之后上传centos系统

    yum install -y percona-xtrabackup-24-2.4.15-1.el7.x86_64.rpm
    rpm -qa |grep xtrabackup
    which xtrabackup
    

    常用选项:
    --host 指定主机
    --user 指定用户名
    --password 指定密码
    --port 指定端口
    --databases 指定数据库
    --incremental 创建增量备份
    --incremental-basedir 指定包含完全备份的目录
    --incremental-dir 指定包含增量备份的目录
    --apply-log 对备份进行预处理操作
    一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此,此时数据文件仍处理不一致状态。“准备”的主要作用正是通过回滚未提交的事务及同步已经提交的事务至数据文件也使得数据文件处于一致性状态。
    --redo-only 不回滚未提交事务
    --copy-back 恢复备份目录
    注意:备份时需启动MySQL,恢复时需关闭MySQL,清空mysql数据目录且不能重新初始化,恢复数据后应该立即进行一次完全备份

    2、xtrabackup全量备份与恢复

    备份:

    innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 /path/
    

    停止服务,删除目录数据

    service mysqld stop
    cd /data/mysqldata/  
    rm -rf *
    

    恢复:

    innobackupex --apply-log /path/2018-07-30_11-04-55/    #保持一致性
    innobackupex --defaults-file=/etc/my.cnf --copy-back /path/2018-07-30_11-04-55/
    chown -R mysql.mysql /data/mysqldata/
    service mysqld start
    

    3、xtrabackup增量备份与恢复

    innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --incremental /path2/ --incremental-basedir=/path/2017-12-04_13-57-29
    

    --incremental /path2/ 指定增量备份文件备份的目录
    --incremental-basedir 指定上一次全备或增量备份的目录
    增量恢复

    innobackupex --apply-log --redo-only /path/2017-12-04_13-57-29/
    innobackupex --apply-log --redo-only /path/2017-12-04_13-57-29/ --incremental-dir=/path2/2017-12-05_09-27-06/
    innobackupex --defaults-file=/etc/my.cnf --copy-back /path/2017-12-04_13-57-29/
    

    4、常用命令

    cat xtrabackup_checkpoints #查看备份检查点

    使用tar备份到远程服务器

    事先配置免密登录

    innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar "/path/backup/" | ssh root@192.168.15.6 "gzip ->/home/xttest/mysql_backup.tar.gz"
    

    解压

    tar -ixzvf mysql_backup.tar.gz
    
  • 相关阅读:
    nginx 添加模块
    zabbix监控nginx status页面
    查看crontab执行记录
    mysql常见问题处理
    iftop简单使用
    TCP的状态及变迁
    CF1174F
    luoguP6326 Shopping
    【THUWC2020】工资分配
    CF1336简要题解
  • 原文地址:https://www.cnblogs.com/kylingx/p/11714958.html
Copyright © 2020-2023  润新知