MySql ---redo log、binlog、undo log

redo log 重做日志:innodb存儲引擎層的日志,記錄數(shù)據(jù)修改后的值,不管事務(wù)成功提交與否,如數(shù)據(jù)庫掉電,InnoDB存儲引擎會使用redo log恢復(fù)到掉電前的時刻,以此來保證數(shù)據(jù)的完整性,在執(zhí)行一條更新語句時,innoDb先將該語句寫入日志文件,然后更新緩存,等到空閑或者按照策略在更新磁盤,這個又叫WAL即Write Ahead logging技術(shù),他的關(guān)鍵點是先寫日志,再寫磁盤,依賴redo log是有crash-safe能力的

binlog:屬于MySQL Server層面的,又稱為歸檔日志,屬于邏輯日志,是以二進(jìn)制的形式記錄的是這個語句的原始邏輯,依靠binlog是沒有crash-safe能力的

undu log?日志用于記錄事務(wù)開始前的狀態(tài),用于事務(wù)失敗時的回滾操作;redo日志記錄事務(wù)執(zhí)行后的狀態(tài),用來恢復(fù)未寫入data file的已成功事務(wù)更新的數(shù)據(jù),例如某一事務(wù)的事務(wù)序號為T1,其對數(shù)據(jù)X進(jìn)行修改,設(shè)X的原值是5,修改后的值為15,那么Undo日志為<T1, X, 5>,Redo日志為<T1, X, 15>

https://blog.csdn.net/u010002184/article/details/88526708

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容