MySQL事务的执行流程与MySQL事务䣌恢复流程
1.事务开始
2.查询数据库中待更新数据到内存,并加锁
3.将缓存的数据放到InnoDB缓冲区(通过innodb_log_buffer设置的缓冲区)
4.记录Undo Log日志对应的Redo Log日志到内存缓冲区
5.记录Undo Log日志到内存缓冲区
6.记录更新数据对应的Redo Log日志到内存缓冲区
8.提交事务触发Redo Log 刷盘
9.Undo Log日志和数据页都通过checkpoint机制刷盘
10.事务结束
其中4、6步骤会进行Redo Log每秒刷盘
MySQL事务的恢复流程
1.MySQL崩溃或宕机
2.重启MySQL
3.获取checkpoint(检查点)信息
4.使用Redo Log日志恢复数据
5.恢复的事务如果提交就结束,恢复的事务如果未提交就使用Undo Log日志回滚数据