zoukankan      html  css  js  c++  java
  • Xtrabackup备份mysql

    安装RPM包
     
     
    rpm -ql percona-xtrabackup-24-2.4.7-1.el7.x86_64
     
    创建备份目录
    mkdir /extrabackup
    备份文件
    innobackupex --user=root --password=Root123! /extrabackup/
    查看备份文件
    ls /extrabackup/2017-06-20_11-26-38 -hl
     
    删除数据目录
    rm -rf /var/lib/mysql/*
    查看数据目录文件
    ls /var/lib/mysql/
     
    开始还原:
    innobackupex --copy-back /extrabackup/
     
    修改数据目录的属主和属组并启动MySQL服务:
    chown -R mysql:mysql /var/lib/mysql/
    systemctl restart mysqld
     
    增备是备份上次以来发生变化的页面,通过增备可以减轻存储以及系统资源开销。增量备份主要针对于InnoDB,因为InnoDB采用了日志序列号(LSN)的方式。InnoDB的LSN是一个增长的序列,类似于Oracle的SCN,记录了InnoDB的变化情况。增量备份则是备份特定的LSN之后变化的情况。通过按序重组这些LSN即可将数据库恢复到故障点或任意时刻。
     
    第一次增量备份
    innobackupex --user=root --password=Root123! --incremental /extrabackup/ --incremental-basedir=/extrabackup/2017-06-20_11-26-38/
    第二次增量备份
    innobackupex --user=root --password=Root123! --incremental /extrabackup/ --incremental-basedir=/extrabackup/2017-06-20_13-08-11/
     
    整合完整备份和增量备份:
    对于增量备份的Prepare阶段,有2个需要注意的地方,一个是提交的事务需要replayed,一个未提交的事务需要rollback。
    如果在Prepare阶段replay了已提交的事务以及回滚了未提交的事务,则后续的增量备份无法添加到当前全备。因此在Prepare阶段全备应使用--redo-only选项。
    对于存在多次增量的情形,仅仅只有最后一个增量不需要使用--redo-only 选项。如果使用了的话,rollback将由服务器启动的时候来完成。
     
    innobackupex --user=root --password=Root123! --apply-log --redo-only /extrabackup/2017-06-20_11-26-38/
    innobackupex --user=root --password=Root123! --apply-log --redo-only /extrabackup/2017-06-20_11-26-38/ --incremental-dir=/extrabackup/2017-06-20_13-08-11/
    innobackupex --user=root --password=Root123! --apply-log /extrabackup/2017-06-20_11-26-38/ --incremental-dir=/extrabackup/2017-06-20_13-10-08/
     
    开始还原:
    innobackupex --copy-back /extrabackup/2017-06-20_11-26-38/
    修改数据目录的属主和属组,启动OK。
    chown -R mysql.mysql /var/lib/mysqld/
     
     
    小结
    a、增量备份是基于增量或全备的基础之上完成的。
    b、增量备份的基础是InnoDB引擎使用了LSN机制,非InnoDB引擎不存在增量备份的说法,每次都是全备。
    c、对于增量备份的恢复期间需要对已提交的事务前滚,未提交的事务回滚。
    d、增量备份的恢复应按照备份的顺利逐个逐个replay,需要使用--apply-log --redo-only选项。
    e、仅仅最后一个增量备份不需要使用--redo-only选项。
    f、如果要做完全恢复或时点恢复,需要结合binlog来实现。
  • 相关阅读:
    Labeling Balls(拓扑排序wa)
    Trailing Zeroes (III)(lightoj 二分好题)
    布线问题(prime)
    Let the Balloon Rise(map)
    iframe实现伪ajax
    a标签点击不跳转的几种方法
    Javascript的DOM总结
    Mysql:数据库导入导出
    python之迭代器与生成器
    随机获取数据库的数据
  • 原文地址:https://www.cnblogs.com/acewhl/p/7513713.html
Copyright © 2011-2022 走看看