redo log与binlog的区别

redo log与binlog的区别
第一:redo log是在InnoDB存储引擎层产生,而binlog是MySQL数据库的上层产生的,并且binlog不仅仅针对INNODB存储引擎,MySQL数据库中的任何存储引擎对于数据库的更改都会产生binlog。

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

第三:两种日志与记录写入磁盘的时间点不同,binlog只在事务提交完成后进行一次写入。而redo log在事务进行中不断地被写入,并且是不是随事务提交的顺序进行写入的。

第四:binlog不是循环使用,在写满或者重启之后,会生成新的binlog文件,redo log是循环使用。

第五:binlog可以作为恢复数据使用,主从复制搭建,redo log作为异常宕机或者介质故障后的数据恢复使用。

posted @ 2023-05-20 10:43  屠魔的少年  阅读(13)  评论(0)    收藏  举报