后端程序员必备:MySQL数据库相关流程图/原理图
副标题[/!--empirenews.page--]
前言 整理了一些Mysql数据库相关流程图/原理图,做一下笔记,大家一起学习。 1.mysql主从复制原理图 mysql主从复制原理是大厂后端的高频面试题,了解mysql主从复制原理非常有必要。 主从复制原理,简言之,就三步曲,如下:
如下图所示: ![]() 上图主从复制分了五个步骤进行: 步骤一:主库的更新事件(update、insert、delete)被写到binlog 步骤二:从库发起连接,连接到主库。 步骤三:此时主库创建一个binlog dump thread,把binlog的内容发送到从库。 步骤四:从库启动之后,创建一个I/O线程,读取主库传过来的binlog内容并写入到relay log 步骤五:还会创建一个SQL线程,从relay log里面读取内容,从Exec_Master_Log_Pos位置开始执行读取到的更新事件,将更新内容写入到slave的db 2.Mysql逻辑架构图 如果能在脑海中构建出MySql各组件之间如何协同工作的架构图,就会有助于深入理解MySql服务器 ![]() Mysql逻辑架构图主要分三层: 1) 第一层负责连接处理,授权认证,安全等等
2)第二层负责编译并优化SQL
3)第三层是存储引擎。
3.InnoDb 逻辑存储结构图 从InnoDb 存储引擎的逻辑存储结构看,所有数据都被逻辑地存放在一个空间中,称之为表空间(tablespace)。表空间又由段(segment),区(extent),页(page)组成。页在一些文档中有时候也称为块(block)。 InnoDb 逻辑存储结构图如下: ![]() 表空间(tablespace)
段(segment)
区(extent)
页(page)
4.Innodb页结构相关示意图 Innodb页结构单体图 InnoDB数据页由以下7部分组成,如图所示: ![]() 其中File Header、Page Header、File Trailer的大小是固定的,分别为38,56,8字节,这些空间用来标记该页的一些信息,如Checksum,数据页所在B+树索引的层数等。User Records、Free Space、Page Directory这些部分为实际的行记录存储空间,因此大小是动态的。 下边我们用表格的方式来大致描述一下这7个部分: ![]() 记录在页中的存储流程图 (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |