来源:自学PHP网 时间:2015-04-16 10:51 作者: 阅读:次
[导读] 启动MySQL1、初始化模块执行存储引擎初期化执行2、1中执行完成后 ----连接管理模块接手3、连接管理模块启动处理客户端连接请求的监听程序(tcp ip 网络监听、unix 的socket)4、启动完成...
启动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 优化器模块) ---->(DML 或者DDL)给表变更管理模块 ---->表维护模块(更新统计信息、检测、修复和整理类的query) ---->复制模块(复制相关的query) ---->状态收集报告模块(请求状态的query) ---->insert 处理器 ---->delete处理器 ---->update 处理器 ---->create 处理器 ---->alter 处理器 command类型请求---->直接执行(不需要调用Parser) 9、以上执行完成---->连接线程模块---->返回执行结果 附上图片: MySQL各个模块的关系图 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com