数据保存 redolog undolog binlog 流程
时间: 2023-09-29 20:09:00 浏览: 85
3000帧动画图解MySQL为什么需要binlog、redo log和undo log.doc
数据保存的过程中,常用的三种日志类型是 Redo Log、Undo Log 和 Binlog。它们的作用和流程如下:
1. Redo Log:Redo Log 记录了事务对数据库所做的更改,以便在数据库异常关闭时能够恢复数据。Redo Log 主要记录数据修改操作,如插入、更新、删除等。
流程:当执行事务时,修改的数据会先被写入内存缓冲区,等到事务提交时才会被写入磁盘。同时,Redo Log 也会被写入磁盘。在数据库异常关闭后,通过 Redo Log 可以将未写入磁盘的数据恢复到磁盘上。
2. Undo Log:Undo Log 记录了事务对数据库所做的更改的相反操作,以便在回滚事务时能够恢复数据。Undo Log 主要记录数据回滚操作,如撤销已经提交的事务。
流程:当执行事务时,修改的数据会先被写入内存缓冲区,同时 Undo Log 也会被写入磁盘。在事务回滚时,系统会根据 Undo Log 中的信息将数据恢复到事务开始前的状态。
3. Binlog:Binlog 记录了数据库所有的修改操作,以便在数据库出现故障时进行数据恢复和数据复制。Binlog 主要用于数据备份和主从同步。
流程:当执行事务时,修改的数据会先被写入内存缓冲区,同时 Binlog 也会被写入磁盘。在数据备份或主从同步时,系统会根据 Binlog 中的信息将数据复制到备份或从库中。
阅读全文