百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> MySQL中常见的日志题目介绍
分享文章到:

MySQL中常见的日志题目介绍

发布时间:08/01 来源:未知 浏览: 关键词:
?本篇文章给大家带来的内容是对于MySQL中常见的日志题目介绍,有一定的参照 价值,有需要的伴侣可以参照 一下,但愿对你有所帮忙。 本篇文章给大家带来的内容是对于MySQL中常见的日志题目介绍,有一定的参照 价值,有需要的伴侣可以参照 一下,但愿对你有所帮忙。

MySQL 里有两个日志,即:重做日志(redo log)和归档日志(binlog)。(举荐课程:MySQL教程)

其中,binlog 可以给备库运用,也可以保留起来用于恢复数据库历史数据。它是实此刻 server 层的,所有引擎可以共用。redo log 是 InnoDB 特有的日志,用来支撑 crash-safe 能力。

你一定听过 MySQL 事务的两阶段提交,指的就是在事务提交的时候,分成 prepare 和 commit 两个阶段。

如图 1 所示为一个事务的施行流程,你在最后三步可以看到,redo log 先 prepare 完成,再写 binlog,最后才进入 redo log commit 阶段。

图 2 只用 binlog 支撑解体恢复

这样的流程下,binlog 还是不克不及支撑解体恢复的。我说一个不支撑的点吧:binlog 没有能力恢复“数据页”。

要是在图中标的位置,也就是 binlog2 写完了,但是整个事务尚无 commit 的时候,MySQL 产生了 crash。

重新启动后,引擎内部事务 2 会回滚,然后利用 binlog2 可以补回归;但是关于事务 1 来说,系统已经以为提交完成了,不会再利用一次 binlog1。

但是,InnoDB 引擎运用的是 WAL 技术,施行事务的时候,写完内存和日志,事务就算完成了。要是之后解体,要依赖于日志来恢复数据页。

也就是说在图中这个位置产生解体的话,事务 1 也是可能遗失了的,并且是数据页级的遗失。此时,binlog 里面并没有记载数据页的更新细节,是补不回归的。

你要是要说,那我优化一下 binlog 的内容,让它来记载数据页的更改可以吗?可以,但这其实就是又做了一个 redo log 出来。

所以,至少此刻的 binlog 能力,还不克不及支撑解体恢复。

题目 6:那能不克不及反过来,只用 redo log,不要 binlog?

答复:要是只从解体恢复的角度来讲是可以的。你可以把 binlog 关掉,这样就没有两阶段提交了,但系统仍然是 crash-safe 的。

但是,要是你理解一下业界各个企业的运用场景的话,就会发明在正式的生产库上,binlog 都是开着的。由于 binlog 有着 redo log 没法替换的功能。

一个是归档。redo log 是轮回写,写到末尾是要回到开头继续写的。这样历史日志无法保存,redo log 也就起不到归档的作用。

一个就是 MySQL 系统依赖于 binlog。binlog 作为 MySQL 一开端就有的功能,被用在了许多地方。其中,MySQL 系统高可用的根基,就是 binlog 复制。

还有许多企业有异构系统(比方一些数据剖析系统),这些系统就靠消费 MySQL 的 binlog 来更新本人的数据。关掉 binlog 的话,这些下流系统就无法输入了。

总之,因为此刻包含 MySQL 高可用在内的许多系统机制都依赖于 binlog,所以“鸠占鹊巢” redo log 还做不到。你看,开展生态是多么重要。

最后,举荐你关注丁奇的《MySQL 实战 45 讲》专栏。在专栏里,丁奇会帮你梳理出学习 MySQL 的主线见识,比方事务、索引、锁等,还会就开发历程中时常碰到的概括题目和你剖析计议,而且帮你了解题目背后的本质。你会收成 MySQL 中心技术详解与道理注明和 36 个 MySQL 常见痛点题目解析。

statement 格局的 binlog,最后会有 COMMIT;

row 格局的 binlog,最后会有一个 XID event。

别的,在 MySQL 5.6.2 版本今后,还引入了 binlog-checksum 参数,用来验证 binlog 内容的准确性。关于 binlog 日志因为磁盘缘由,可能会在日志中间出错的状况,MySQL 可以通过校验 checksum 的效果来发明。所以,MySQL 还是有方法验证事务 binlog 的完备性的。

题目 2:redo log 和 binlog 是怎么关联起来的?

答复:它们有一个共同的数据字段,叫 XID。解体恢复的时候,会按次序扫描 redo log:

以上就是MySQL中常见的日志题目介绍的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有152人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板