MySQL 日志:binlog、redolog、undolog

binlog

  • 实现层:MySQL server层
  • 记录内容:数据变更的原始SQL
  • 刷盘时机:事物提交后写入,所以无法保证服务闪崩恢复
  • 用途:数据同步、备份

redolog

  • 实现层:InnoDB引擎
  • 记录内容:数据的修改信息
  • 刷盘时机
    • 事物提交不刷盘:依赖后台线程定时(1S)刷新,闪崩可能1s内的数据丢失
    • 事物提交刷盘:闪崩不会丢失数据
    • 事物提交刷到log cache:依赖后台线程定时(1S)刷新,闪崩可能1s内的数据丢失
  • 作用:保证事物持久性
  • 提交机制:两阶段提交

undolog

  • 实现层:InnoDB引擎
  • 记录内容:数据的修改信息
  • 写入机制:写数据之前
  • 刷盘机制:数据持久化之前
  • 作用:保证事物原子性、MVCC

     参考:MySQL三大日志(binlog,redolog,undolog)详解 - 掘金                           

你可能感兴趣的:(mysql,数据库,服务器)