InnoDB数据的三种log类型和作用(3)
InnoDB数据的三种log类型和作用
log buffer中写入redolog的过程是顺序的,但不是一条一条写入,而是一个mtr完成后,将里面所有的redolog一起复制到log buffer中(还会把执行过程中可能修改过的页面加入到Buffer Pool的flush链表),也就是存储到redolog block中,可能占用不到一个block,也可能占用多个block。一个事务可以包含多个mtr,那么多个事务的mtr就会有交集,事务间的mtr会相互穿插。
binlog
binlog是属于MySQL Server层面的,又称为归档日志,属于逻辑日志,是以二进制的形式记录的,是sql语句的原始逻辑,主要是用于进行集群中保证主从一致以及执行异常操作后恢复数据。
binlog日志文件默认大小由磁盘决定,顺序追加写入。binlog内存数据存储在binlog cache中(大小由binlog_cache_size控制),磁盘数据则存储在binlog file中。
binlog有三种格式,分别是Row、Statement、Mixed。
- Row格式记录了操作语句对具体行的操作以及操作前的整行信息,缺点是占空间大(一条sql影响的行数),优点是能保证数据安全,不会发生遗漏,是5.7版本默认格式。
- Statement格式记录了修改的sql(只是一条sql语句),缺点是在集群中可能会导致操作不一致从而使得数据不一致,如执行now()函数可能会导致不同机器值不同。
- Mixed格式会针对于操作的sql选择使用Row还是Statement,相比于Row更省空间,但还是可能发生主从不一致的情况。
binlog和redolog虽然都保存了记录的修改日志,但两者有一些区别:
- binlog是逻辑日志,记录的是对哪一个表的哪一行做了什么修改;redolog是物理日志,记录的是对哪个数据页中的哪个记录做了什么修改。
- binlog是追加写;redolog是循环写,日志文件有固定大小,会覆盖之前的数据。
- binlog是Server层的日志;redolog是InnoDB的日志。如果不使用InnoDB引擎,就没有redolog。
上述就是InnoDB数据的三种log类型和作用的具体内容,未经IT袋网网(www.itdai.com)允许禁止转载!
相关阅读
-
服务器响应时间是什么? 如何优化服务器响应时间?
跟大家聊一聊服务器响应时间是什么的相关介绍,一起跟随小编看看吧! 服务器响应时间是衡量一个网站或应用程序性能的重要指标之一。它指的是从客户端发送请求到服务器响应请求所需的
-
视频网站如何选择国外服务器? 如何选择国外服务器来建设视频网站
为网友解答视频网站如何选择国外服务器的相关话题,接下来小编为网友介绍。 地理位置 :选择靠近目标用户群体的国外服务器位置是至关重要的。若用户主要集中在中国以外的地区,因您应
-
OSPFv3支持的网络类型有哪几种
IT电脑小知识篇,关于OSPFv3支持的网络类型有哪几种的电脑方面的小经验,下面来一起了解一下吧。 在OSPFv3(Open Shortest Path First version 3)协议中,网络类型是一种关键概念,影响着路由器之间
-
办网站需要什么手续和证件 建立网站需要的条件
正文核心介绍:办网站需要什么手续和证件和建立网站需要的条件IT技巧方面的经验,接下来一起来看看吧。 目前许多企业都在进行网站建设,要知道网站建设时间与做网站建设步骤,前期做


