原子性:undo log
事務是數據庫的邏輯工作單位,而且是必須是原子工作單位,對於其數據修改,要么全部執行,要么全部失敗回滾。
類似轉賬:A-100,B+100 這兩個操作屬於同一個事務, 要么全部執行,要么全部失敗回滾。
- undo log記錄了回滾操作的日志,如果要撤銷,按照undo log的回滾日志執行一遍就可以了(保證了原子性)
持久性:redo log
指一個事務一旦提交,它對數據庫中的數據的改變就應該是永久性的,即使此時再執行回滾操作也不能撤消所做的更改。
- 持久性就是用redo log,不是每次都寫入磁盤,而是定期通過redo log把數據刷入磁盤這樣即便斷電后,重啟mysql還是可以恢復