Mysql日志binlog、redolog和undolog

一、binlog  mysql server产生  逻辑日志  追加写入

1. 什么是binlog?

   它记录了数据库执行的所有写操作(不包括查询select)。

2.binlog日志有两个主要作用。
  1)mysql主从复制mysql replication在master端开启binlog,master把它的二进制日志传递给slaves来达到master-slave数据一致的目的。
  2)数据恢复:通过mysqlbinlog工具来恢复数据。

二、redolog  innoDB存储引擎产生  物理日志   效率快  具备幂等性  循环写入

 1. 什么是redolog它也记录了数据库执行的所有写操作(不包括查询select)。
  redo log的主要功能是用于数据库崩溃时的数据恢复。
     redo Log包括两部分:
   1)内存中的重做日志缓冲(Redo Log Buffer),该部分日志是易失性的
   2)磁盘上的重做日志文件(Redo Log File),该部分日志是持久的

 2. redolog:提供前滚操作。保证事务的持久性

   持久性:Innodb的redolog 记录数据修改的操作日志,当事务提交的时候,会将数据刷盘。

 3. binlog和redolog区别:

三、undolog  innoDB存储引擎产生 逻辑日志

 1.什么是undolog     
 undolog存储的是事务的回滚数据,存储的数据回滚的关键信息。   
    用来回滚记录到某个版本。实现MVCC多版本控制。

 2. undolog:提供回滚操作。保证事务的原子性

     原子性:Innodb的undolog 记录旧数据,进行事务回滚。

四、详解一条 SQL 的执行过程  参考:详解一条 SQL 的执行过程
 
 
 
posted @ 2014-04-28 22:42  遇见神龙  阅读(290)  评论(0编辑  收藏  举报