现在的位置: 首页 > 综合 > 正文

MySQL逻辑模块工作配合

2018年05月16日 ⁄ 综合 ⁄ 共 1256字 ⁄ 字号 评论关闭

启动MySQL

1、初始化模块执行&&存储引擎初期化执行

2、1中执行完成后 ---->连接管理模块接手

3、连接管理模块启动处理客户端连接请求的监听程序(tcp/ip 网络监听、unix 的socket)

4、启动完成、准备接收请求

客户端连接

5、监听到客户端的连接请求(运用网络交互模块中相关功能)---->通过Client & Server 交互协议模块协议----通讯匹配---->

6、连接管理模块----请求转发---->线程管理模块----控制转交---->连接线程模块

7、连接线程模块----调用---->用户模块进行授权检查----通过---->线程池请求线程

     不通过---->返回

请求query

8、开启日志的情况下,日志会同步产生

      query类型请求(调用Parser(Query 解析和转发模块))---->(访问控制模块同步执行)

                           ---->Query 解析器

                           ---->(select 类型)调用查询缓存模块

                           ---->检查query cache 中是否已经存在

                                   ---->存在将cache 中的数据返回给连接线程模块

                                   ---->不存在传回query 解析器(Query 优化器模块)

                                                 query 解析器

                                                 ---->表变更管理模块(DML 或者DDL)

                                                                                    ---->insert 处理器

                                                                                    ---->delete处理器

                                                                                    ----->update 处理器

                                                                                    ----->create 处理器

                                                                                    ----->alter 处理器

                                                 ---->表维护模块(更新统计信息、检测、修复和整理类的query)

                                                 ---->复制模块(复制相关的query)

                                                 ---->状态收集报告模块(请求状态的query)

command类型请求---->直接执行(不需要调用Parser)

9、以上执行完成---->连接线程模块---->返回执行结果

抱怨下!CSDN排版稀烂,咋排都看不到自己想要的效果。

CSDN能不能不要去掉作者使用的 Tab 啊,害人都要用N多空格代替而且空格的显示大小跟排版大小根本不一致!

大家理解不清楚的话,看附件的图吧!

附上图片:

MySQL各个模块的关系图

抱歉!评论已关闭.