redo log和undo log和binlog
时间: 2023-11-08 15:04:14 浏览: 108
3000帧动画图解MySQL为什么需要binlog、redo log和undo log.doc
redo log、undo log和binlog都是MySQL中的日志文件。
redo log是InnoDB存储引擎特有的日志,用于记录事务的操作语句和数据变化情况。当数据库异常重启后,通过redo log可以恢复未持久化到磁盘上的数据。同时,redo log也可用于实现InnoDB的崩溃恢复、主从同步等机制。
undo log也是InnoDB存储引擎特有的日志,用于记录事务执行前的数据状态以及对应的撤回操作。当一个事务回滚时,就会利用undo log来还原数据到事务开始之前的状态。此外,在MVCC(多版本并发控制)中,由于每个事务只能看到自己开始执行前的数据状态,因此需要通过undo log记录每个事务开始前的数据状态,从而支持读已提交的隔离级别。
binlog则是MySQL Server层面的日志,记录了所有对MySQL数据库进行修改的SQL语句,在主从复制、数据库备份与恢复等方面都有很重要作用。
阅读全文