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刷盤會在系統空閑時進行。
