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