InnoDB存储引擎的执行流程
2021-09-29 17:34:16 0 举报
浅谈 redo Log和 binlog
作者其他创作
大纲/内容
执行器
1、加载缓存数据
Redo LogBuffer
【redo 刷盘策略】 --- innodb_flush_log_at_trx_commit 设置0,提交事务,宕机,redo日志没有刷盘,redo日志丢失,事务更新的数据丢失; 设置1, 提交事务,redo日志输入磁盘文件,保证数据不会丢失; 设置2,提交事务,redo日志进入os cache(1s后写入磁盘),还没进磁盘文件,此时机器宕机还是会导致os cach里的redo日志丢失
8、刷磁盘
1、2、3、4 执行更新;5、6 提交事务
脏数据
6、准备提交事务binlog日志写入磁盘
磁盘文件
os cache缓存
5、准备提交事务redo日志刷入磁盘
【binlog刷盘策略】---sync_binlog 默认0,不直接进磁盘,进os cachhe,宕机丢失; 1,直接写磁盘,不丢失
undo日志文件
redo log是前向物理性质的重做日志;binlog叫归档日志,偏向于逻辑性的日志。binlog是mysql server 自己的日志文件,不是InnoDB的
2、写入数据的旧值便于回滚
redo日志文件
4、写redo日志
InnoDB存储引擎
Buffer Pool缓冲池
3、更新内存数据
binlog日志文件
7、写入binlog文件名与位置;写入commit标记
IO线程
0 条评论
下一页