ACID靠什么保证

A 原子性 由undo log日志保证,它记录了需要回滚的日志信息,事务回滚是撤销已经成功执行的sql
C 一致性 由其他三大特性保证、程序代码要保证业务上的一致性
I 隔离性 由MVCC来保证
D 持久性 由内存+redo log来保证,mysql修改数据同时在内存和redo log记录这次操作,宕机的时候可以从redo log 恢复。

InnoDb redo log 写盘 ,InnoDB事务进入prepare状态。
如果前面prepare成功,binlog写盘,再继续将事务日志持久化到binlog,如果持久化成功,那么InnoDb事务则进入commit状态。(在redo log里面写一个commit记录)

确保事务执行成功的一个重要判断指标就是 在redo log中此事务是否有commit记录。

redolog刷盘会在系统空闲时进行。

posted @ 2021-05-24 10:18  刘指导  阅读(1065)  评论(0编辑  收藏  举报