MySQL-MySQL三大日志(binlog、redolog和undolog)详解

1、MySQL日志
(1)二进制日志(或归档日志)binlog
MySQL数据库的数据备份、主备、主主、主从都离不开binlog,需要依靠binlog来同步数据,保证数据一致性。binlog保证了MySQL集群架构的数据一致性。不管用什么存储引擎,只要发生了表数据更新,都会产生binlog日志。binlog是Server层维护的。
(2)事务日志(或重做日志)redolog
redolog是InnoDB存储引擎独有的,它让MySQL拥有了崩溃恢复能力。比如MySQL实例挂了或宕机了,重启时,InnoDB存储引擎会使用redolog恢复数据,保证数据的持久性与完整性。MySQLInnoDB引擎使用redolog保证事务的持久性。redolog记录修改后的具体值。redolog提供前滚操作。
(3)回滚日志undolog
undolog是InnoDB存储引擎独有的。保证事务的原子性,就需要在异常发生时,对已经执行的操作进行回滚,在MySQL中,恢复机制是通过回滚日志undolog实现的。MySQLInnoDB引擎使用undolog来保证事务的原子性。undolog记录修改前的具体值。undolog提供回滚操作。

你可能感兴趣的:(Mysql,数据库)