zoukankan      html  css  js  c++  java
  • [MySQL] xtrabakcup原理

    Xtrabackup

    InnoDB内部的Redo log, 也叫Transaction log file.

    存储每一个InnoDB表纪录的修改日志. 当InnoDB启动时, InnoDB会检查数据文件和事务日志,

    并执行2个步骤:

    • 前滚已经提交的事务到数据文件;
    • 回滚未提交的事务.

    重要Action:

    • Xtrabackup启动的时候会纪录log sequence number(LSN), 并且复制所有数据文件(.ibd; ibdata), 复制过程中可能数据文件发生过变动, 会得到有page断裂的数据文件. 这是xtrabackup会运行一个后台进程, 用于监视事务日志, 比较LSN和Redo log中page的LSN, 如果发生改变, 则将事务日志复制到xtrabackup_logfile中, 此过程一直重复进行.

    • Innobackupex允许备份MyISAM和frm文件, innobackupex会启动xtrabackup, 直到xtrackup复制完数据文件后, 执行Flush tables with read lock来阻止写入, 并把MyISAM表数据落盘, 复制MyISAM数据文件, 以及frm等文件, 最后释放锁.

    • Prepare过程, 会使用xtrackup_logfile来执行数据文件灾难恢复(就像MySQL启动时crash recovery一样).

    xtrabackup备份过程如下所示:

  • 相关阅读:
    POJ 2891 Strange Way to Express Integers 中国剩余定理 模板 数论
    HDU 6185 Covering 矩阵快速幂 递推
    hdoj2796
    hdoj2795【未完待续】
    hdoj【1006】【未完待续】
    hdoj1007【几何】【未完待续】
    位运算【C++学习(计蒜客)】
    poj1664【DFS】
    退出ACM?
    C4-总结
  • 原文地址:https://www.cnblogs.com/renolei/p/4548585.html
Copyright © 2011-2022 走看看