zoukankan      html  css  js  c++  java
  • xtrabackup-增量备份

    增量备份之所以能工作是因为每个innodb的page都包含日志序列号(LSN)。LSN是整个数据库的版本号。

    增量备份会拷贝那些LSN比备份开始时新的页。有两种算法用来计算查找这些页:第一种,支持所有版本类型,从数据页中直接读取页的LSN号;第二种,只是支持percona server,可以跟踪所有改变的页,也改变跟踪信息会写入一个单独的、压缩的bitmap文件。xtrabackup使用这个文件去读取需要备份的页,从而降低了读请求。也可以使用--incremental-force-scan来强制读取所有的页,即使有bitmap文件存在。

    增量备份并不需要将数据文件与之前的备份文件相比较。事实上,即使没有之前的备份,也可以使用--incremental-lsn直接进行增量备份。增量备份只是比较lsn。

    备份的时候,xtrabackup会向--target_dir目录写入一个文件:xtrabackup_checkpoints。这个文件包含一行带有to_lsn的内容,即数据库备份后的lsn。
    比如:

    $ more xtrabackup_checkpoints 
    backup_type = full-backuped
    from_lsn = 0
    to_lsn = 1626007
    last_lsn = 1626007
    compact = 0
    recover_binlog_info = 1
    

      

    执行增量备份的过程:

    1.创建全备
    $ xtrabackup --backup --target-dir=/data/backups/base
    
    2.执行增量备份
    $ xtrabackup --backup --target-dir=/data/backups/inc1 --incremental-basedir=/data/backups/base
    在/data/backups/inc1下包含delta文件
    
    3.再次增量备份
    $ xtrabackup --backup --target-dir=/data/backups/inc2 --incremental-basedir=/data/backups/inc1
    

     

    如何对增量备份做prepare

    对增量备份做prepare步骤,和全备不同。
    对全被做prepare,为了确保数据一致性,要完成两种操作:事务前滚、事务回滚。
    对增量备份做prepare,必须略过对未提交的事务的回滚,因为未提交的事务在备份的时候可能还在处理过程中,可能会在下一次增量备份时提交。所以需要使用xtrabackup --apply-log-only来阻止对事务回滚,否则增量备份是无效的。

    假设有一个全备、两份增量备份:

    /data/backups/base
    /data/backups/inc1
    /data/backups/inc2
    

      

    要先对全备做prepare,再依次对增量备份做prepare:

    $ xtrabackup --prepare --apply-log-only --target-dir=/data/backups/base
    $ xtrabackup --prepare --apply-log-only --target-dir=/data/backups/base --incremental-dir=/data/backups/inc1
    $ xtrabackup --prepare --target-dir=/data/backups/base --incremental-dir=/data/backups/inc2
    

      

  • 相关阅读:
    Q12:app在iPhone上执行正常,iPad上出现黑边问题解决方式
    SPOJ 104 Highways 最小生成树计数
    微信支付 常见报错
    oracle创建表空间、用户、和权限配置
    Android Matrix图像变换处理
    java项目部署到weblogic上后,某些浏览器无法取得session值
    简介redis以及ubuntu和windows下怎样安装redis和配置文件具体解释
    Melo作为程序猿的2016年
    软件架构,WEB
    软件架构,WEB
  • 原文地址:https://www.cnblogs.com/abclife/p/7568187.html
Copyright © 2011-2022 走看看