binlog、redolog、undolog的区别

前言:

在MYSQL数据库中,binlog、redolog、undolog都是数据库日志类型文件。

binlog:主要用于数据库的数据备份,崩溃恢复和数据复制等操作。mysql主从复制

redolog:用来做恢复,事务持久性

undolog:用来做回滚

Mysql中 redolog和undolog只能适用于InnoDB,因为要支持事务。而binlog可以支持所有存储引擎。

binlog:

是Mysql用于记录数据库中所有的DDL和DML语句的一种二进制文件。它记录了所有insert、update、delete操作。主要用于对于数据库的数据备份,容灾恢复,数据复制等操作。

redolog:

是Mysql用于实现崩溃恢复和数据持久性的一种机制。在事务进行的全过程中,Mysql会将事务做了什么改动存储到redolog中,当系统发生异常情况时,Mysql会通过redolog中的记录来进行恢复操作,将事务所做的操作持久化到磁盘上。

undolog:

用于事务回滚或者是服务崩溃时回滚事务所做的操作,当一个事务执行完成之后,Mysql会将事务修改前的数据记录到undolog中,如果事务需要回滚,则会从undolog中找到对应的记录用来撤销事务所做的修改。

redolog和undolog区别:

redolog主要用于事务持久性,用来崩溃恢复

undolog主要是保证事务的原子性和一致性,主要用于事务回滚。

前者记录了事务所有的数据变更,包括中间具体的操作

后者是记录了事务执行之前的内容

你可能感兴趣的:(mysql,mysql)