MYSQL INNODB的REDO LOG与BINLOG的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL INNODB的REDO LOG与BINLOG的区别相关的知识,希望对你有一定的参考价值。

mysql INNDODB的REDO LOG与BINLOG从表面上看来是非常相似的。然而本质上有很大的区别:

第一:REDO LOG是在INNODB存储引擎层产生,而BINLOG是MYSQL数据库的上层产生的,并且二进制日志不仅仅针对INNODB存储引擎,MYSQL数据库中的任何存储引擎对于数据库的更改都会产生二进制日志。

第二:两种日志记录的内容形式不同。MYSQL的BINLOG是逻辑日志,其记录是对应的SQL语句。而INNODB存储引擎层面的重做日志是物理日志。

第三:两种日志与记录写入磁盘的时间点不同,二进制日志只在事务提交完成后进行一次写入。而INNODB存储引擎的重做日志在事务进行中不断地被写入,并日志不是随事务提交的顺序进行写入的。

二进制日志仅在事务提交时记录,并且对于每一个事务,仅在事务提交时记录,并且对于每一个事务,仅包含对应事务的一个日志。而对于INNODB存储引擎的重做日志,由于其记录是物理操作日志,因此每个事务对应多个日志条目,并且事务的重做日志写入是并发的,并非在事务提交时写入,做其在文件中记录的顺序并非是事务开始的顺序。

本文出自 “12024114” 博客,请务必保留此出处http://12034114.blog.51cto.com/12024114/1856661

以上是关于MYSQL INNODB的REDO LOG与BINLOG的区别的主要内容,如果未能解决你的问题,请参考以下文章

mysql的innodb引擎下的undo log中包括“写redo log”这件事?

MySQL InnoDB redo Log 浅析

Redo Log Undo Log 与 Bin Log介绍

Redo Log Undo Log 与 Bin Log介绍

Redo Log Undo Log 与 Bin Log介绍

MySQL · 引擎特性 · InnoDB redo log漫游(转)