innodb的redolog与binlog的区别

binlog和redo log都记录了数据库的操作日志,那么两者之间的差别是什么呢?

一.产生的地方不一样

redo log是在innodb即存储引擎层产生的;
binlog是在mysql的服务层产生的;

二.记录的内容形式不同

redo log记录的是物理格式日志,记录的是对每个页的修改,涉及到偏移量等;
binlog记录的是逻辑更改,即执行的sql语句;

三.写入磁盘时间点不同

redo log的写入条件有三个:1.master thread 每秒执行会将redo log buffer刷入redo log;2.事务提交的时候写入;3.redo log buffer可用空间少于一定程度会将redo log buffer写入redo log;也就是说:事务开始后,redo log就开始不断的写入;
binlog只有在事务提交时才写入;

    原文作者:就是咋地
    原文地址: https://www.jianshu.com/p/5916329fb493
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞