MySQL中bin-log与redo-log的区别

首先,从体系结构上来讲:

binlog由数据库上层(server 层)生成,是SQL执行的逻辑日志。
redo log是存储引擎(innodb事务引擎)层面的物理格式的日志,记录的是对于每个页的修改。

作用上的区分:

binlog用来进行数据恢复(基于时间点的) 和 主从复制。

redolog用来保证事务的持久性,以及 crash recovery 。

生成和结束的时间机制也不一样:

InnoDB的redolog在事务进行中不断地被写入,而binlog在事务提交完成后进行一次写入

所以事务提交过程中,redo-log 先封口,然后在server 层生成bin-log.



上一篇:Oracle RedoLog-基本概念和组成


下一篇:通过MySQL存储原理来深度分析排序和锁