mysql事務機制


1、為什么需要事務機制

避免寫入直接操作數據文件,寫入直接操作數據文件是一件非常危險的事情,遇到突發事故,沒有數據文件對比無法還原。mysql五種日志文件,其中只有undo和redo日志與事務有關。拷貝數據記錄在

redo日志里面,記錄修改記錄在undo日志里面。

 

2、事務機制

事務是一組sql語句當做一個整體要么全部成功要么全部失敗。

 

3、利用日志實現間接寫入

先從數據庫文件拷貝數據到undo日志,記錄修改到redo日志,如果沒有問題就同步數據到數據庫文件。

開啟事務,UPDATE語句,DELETE語句 提交事務。日志操作流程如下,拷貝數據到UNdo日志,update,delete后寫入redo日志,undo日志可以用來恢復數據庫,redo日志用來修改數據庫。

 

4、事務ACID特性

原子性要么都成功要么都失敗不允許停留在某個狀態。事務一致性,innodb允許並發執行事務,不管任何給定時間,並發事務有多少,事務必須保證運行結果一致性。隔離性要求事務不受其他事務的影響,

默認情況下A事務,只能看到日志中該事務的數據。持久性,事務一旦提交,結果便是永久性的。即便是宕機了,依然可以依靠事務日志完成數據的持久化。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM