2:一条SQL更新语句是如何执行的?

2020-11-22  本文已影响0人  _River_

2:一条SQL更新语句是如何执行的?

redolog(重做日志):作为:酒店 黑板  账本  角色中的黑板

在酒店突然停电的情况下,可以保证黑板的内容不丢失,可以后续记录(提交)到账本,crash-safe能力。

binlog(归档日志):记录修改的SQL语句

区别:

redolog:空间有限,物理日志,在什么数据页上做了什么修改  

binlog:空间追加,逻辑日志,修改的原始语句

在执行器后的逻辑

redolog与binlog的先后提交问题?

redolog先提交,crash,主数据库修改:某行数据update成true ,binlog没有记录,使用binlog备份数据库,从数据库该行数据仍为 flase

binlog先提交,crash,binlog有记录为:某行数据update成true,redolog没有写,主数据库仍为flase,使用binlog备份数据库,从数据库该行数据为true

解决先后提交问题的方法:

redolog先设置为预提交,最后redolog与binlog一起提交

redolog :主要作为于更新主数据库,并防止主数据库的crash

binlog :主要作用于备份从库,或者恢复主数据库

上一篇 下一篇

猜你喜欢

热点阅读