美文网首页
redo log 和 binlog

redo log 和 binlog

作者: nora_mhy | 来源:发表于2019-04-14 21:16 被阅读0次

    mysql里面常说的WAL技术,即Write-Ahead Logging => 先写日志,再写磁盘。

    redo log:属于InnoDB引擎特有的日志

    1. 当需要update T set 时, InnoDB 引擎将记录写入redo log,并更新内存;

    2. 系统空闲时,系统将该update记录更新进入磁盘;

    3. redo log写入分为prepare 和commit 两个阶段; (为了保证redolog binlog的逻辑一致性)

    #:redo log是固定大小的,类似于回路使用。

    Redo log 保证 为InnoDB提供了crash-safe的能力,保证即使数据库发生异常重启数据也不会丢失。

    binlog:(mysql  sever 层实现,所有引擎均可使用)

    1. 依次取出binlog可以恢复数据库至某一特定时刻

    区别:

    1. redo log属于InnoDB特有,binlog属于server层,多有引擎均可使用;

    2. redo log是物理日志,记录 在某个数据页上做了什么修改;

        binlog是逻辑日志,记录sql语句的原始逻辑,如给ID=2的字段加1;

    3. redo log是循环写的,空间固定,用完从头开始;

        binlog是追加写入的,不会覆盖以前的日志;

    相关文章

      网友评论

          本文标题:redo log 和 binlog

          本文链接:https://www.haomeiwen.com/subject/hucewqtx.html