其他:
二进制日记的感化之一是还原数据库的,这与redo log很类似,很多人混淆过,然则两者有本质的不合
-
感化不合:redo log是包管事务的持久性的,是事务层面的,binlog作为还原的功能,是数据库层面的(当然也可以精确到事务层面的),固然都有还原的意思,然则其保护数据的层次是不一样的。
-
内容不合:redo log是物理日记,是数据页面的修改之后的物理记录,binlog是逻辑日记,可以简单认为记录的就是sql语句
-
别的,两者日记产生的时光,可以释放的时光,在可释放的情况下清理机制,都是完全不合的。
-
恢复数据时刻的效力,基于物理日记的redo log恢复数据的效力要高于语句逻辑日记的binlog
关于事务提交时,redo log和binlog的写入次序,为了包管主大年夜复制时刻的主大年夜一致(当然也包含应用binlog进行基于时光点还原的情况),是要严格一致的,MySQL经由过程两阶段提交过程来完成事务的一致性的,也即redo log和binlog的一致性的,理论上是先写redo log,再写binlog,两个日记都提交成功(刷入磁盘),事务才算真正的完成。
参考:http://www.cnblogs.com/hustcat/p/3577584.html
总结:
MySQL中,对于以上三种日记,每一种细化起来都可以够写一个章节的,这里粗略地总结了一下三种日记的一些特点和感化,以赞助懂得MySQL中的事物以及事物背后的道理。
【编辑推荐】
- 如安在SQL Server数据库中完全修复MDF文件
- 数据库紧急恢复过程,快来看看!
- 懂得数据库连接池底层道理之手写实现
- 一步一步教你若何用Python操作MySQL
- 以MySQL为例,带你大年夜道理上懂得那些所谓的数据库军规
推荐阅读
在以前几年间,向下一代端点安然移动的趋势已经进一步加快,究其原因很简单:收集安然专业人员对现有的防病毒软件的功能并不知足。这种市场需求大年夜大年夜推动了诸如Carbon Black、CrowdStrike、Cyb>>>详细阅读
本文标题:MySQL中的重做日志,回滚日志以及二进制日志的简单总结
地址:http://www.17bianji.com/lsqh/40624.html
1/2 1