欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > undo log ,redo log 和binlog的区别?

undo log ,redo log 和binlog的区别?

2025/3/18 5:22:57 来源:https://blog.csdn.net/weixin_73939095/article/details/146325733  浏览:    关键词:undo log ,redo log 和binlog的区别?

一.MySQL如何保证事务的一致性?

两阶段锁:

prepare阶段:

1.写入redo log (prepare)

2.通知server准备写入binlog

commit阶段:
1.写入binlog

2.提交redo log

二.有了binlog为什么还要记录redo log?

binlog和redo log虽然都是为了数据安全与恢复准备的,但是他们的侧重点和功能有所不同,

bin log记录的是SQL语句,属于逻辑日志,可以在所有存储引擎上运行,主要目标是为了数据备份与复制;

redo log记录的是具体的物理操作,属于物理日志,只能在innoDB引擎上使用,执行速度快,主要目标是为了保证高可用性。

三.典型的事务操作流程?

server接收更新数据请求

innoDB记录undo log

更新BufferPool

记录redo log(prepare)

记录binlog

提交redo log (commit)

四.undo log,redo log和binlog的对比?

undo log:innoDB引擎层,事务开始前的值(旧值),事务回滚,事务开始前;

redo log:InnoDB层,事务提交后数据,宕机恢复,事务执行中;

bin log:server层,SQL语句,主从复制和备份,事务提交时。

五.MySQL数据库结构?

server层:

        连接器

        解析器

        优化器

        执行器

        bin buffer

存储引擎层:

统一接口,

存储引擎:

        内存:

                bufferpool:

                        undo log buffer

                        change buffer

                redo log  buffer

        磁盘:

                undo log

                redo log

                bin log

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词