主要模块的交互(介绍mysql各个模块主要职责),当Connection Manager收到client连接的时候,则会初始化网络连接进程,然后建立C

主要模块的交互(介绍mysql各个模块主要职责)

当Connection Manager收到client连接的时候,则会初始化网络连接进程,然后建立Connetion handler进程。进而connection handler进程进行权限认证。

传过来的sql脚本将会被Command Dispatcher接收,如果是个复杂的指令,将会传到其他的模块去。

在Mysql的术语中,client有两种请求,一种是query,另外一种是command,query不仅包括select,还包括delete、insert等,这些语句是需要经过parser处理的,而command则不需要经过parser处理。

如果开启了query logging,那么command dispatcher 将会让logging module来做日志。

command dispatcher在使用parser之前,首先会调用query cache,query cache首先检查该query是不是可以被cache,是否有符合该query的数据已经被cache,如果有的话,就返回,如果miss了,就会执行parser。

执行好parser之后,,select由optimizer来处理;update、 inserts、 deletes和table创建语句,schema创建语句 schema alter语句由table modification module来处理;其他还有table maintenance module,replication module等等。

然后通过维护着table list的access control module,进入到Table manager,打开表并获取相应的锁,然后调用相应的引擎,实现query语句。

abstracted storage engine module自动将query转化为对应引擎的方法进行处理。

在query语句执行的时候,corresponding module会把一些结果集返回到client。

Mysql没有使用exceptions,因此在任何一层都需要使用错误检测语句。

当一个任务完成后,就会返回到connection module去等待新的任务。

slave也可能会读取二进制更新文件,这将会由master节点来负责。

如果一台机器被定义为slave,那么将会启动两个线程,一个是sql thread,另外一个是i/o线程。

网络连接将会通过Client/server protocol module来实现。而mysql的核心功能都由Core api来实现。

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

mysql internal_MySQLInternal笔记相关推荐

  1. 字节跳动内部 MySQL 学习笔记火了,完整版开放下载!

    最近很多小伙伴找我要一些 MySQL 基础资料,于是我翻箱倒柜,把这份阿里大牛总结的 MySQL 归纳笔记找出来,免费共享给大家! 据说有小伙伴靠这份笔记顺利进入 BAT 哦,所以一定要好好学习这份资 ...

  2. 【mysql学习笔记整理】

    /*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作 #创建 #数据库的创建 USE mysql; CREATE DATABASE db_x; #删除 #删除数据库 DROP DA ...

  3. MySQL自学笔记2--select的5个子句

    MySQL自学笔记 使用的MySQL自带命令客户端,其中具体的操作是在自建的数据库下room303表中进行的,表中的列有:id.name.age.email.tel.salary.riqi.class ...

  4. MySql入门笔记二~悲催的用户

    这些是当年小弟的MySql学习笔记,木有多么复杂的结构操作,木有多炫丽的语句开发,木有...总之就是木有什么技术含量... 日复一日,彪悍的人生伴随着彪悍的健忘,运维操作为王,好记性不如烂笔头,山水有 ...

  5. 初识mysql学习笔记

    使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...

  6. MySQL学习笔记07【事务、用户管理和权限管理】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  7. MySQL学习笔记06【多表查询、子查询、多表查询练习】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  8. MySQL学习笔记05【多表操作、三大范式、数据库的备份和还原】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  9. MySQL学习笔记04【数据库的查询操作、今日内容、表的约束】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

最新文章

  1. 转:SSL 握手协议详解
  2. 虚拟主机传奇服务器,虚拟主机市场迅猛发展 演绎网络产品传奇
  3. 全球及中国牵引螺丝行业规模现状与“十四五”发展前景预测报告2021-2027年版
  4. Integer Sequence Dividing
  5. float,double等精度丢失问题
  6. 1847 奇怪的数学题(杜教筛 + Min_25 + 第二类斯特林数)
  7. 链路状态路由协议与OSPF
  8. Logistic回归模型原理
  9. 【Vue】路由Router嵌套的实现及经典案例
  10. 从零学习perl语言--perl学习笔记(1)--从基础概念到hello world编写(本文约1000字)
  11. 【Python-3.3】使用while循环实现列表间数据移动
  12. java arraydeque poll,Java ArrayDeque pollLast()方法
  13. 家长或孩子图像的Gif动画小人在少儿学习软件中的妙用.
  14. 清北学堂模拟赛d1t5 拍照(photo)
  15. MSIL实用指南-一维数组的操作
  16. Java:如何通过代码判断字符是拼音还是英文单词?
  17. 企业微信PC版支持多个企业切换了
  18. 解决visual studio安装Dev后不显示控件或控件灰色不可用
  19. kindeditor 加载 html,为kindeditor编辑器添加“引用”(blockquote)标签
  20. 3Dtouch 基本原理

热门文章

  1. BERT轻量化:最优参数子集Bort,大小仅为BERT-large16%
  2. 阿尔伯塔大学博士毕业论文:基于图结构的自然语言处理
  3. 如何在Github上精准地找到想要的开源项目?
  4. Heartrate:一个牛逼的工具,Python执行实时可视化
  5. 美多商城之购物车(展示商品页面简单购物车)
  6. Linux之文件权限命令
  7. 爬虫之requests模块在headers参数中携带cookie发送请求
  8. 网络应用 axIos +vue的应用
  9. 约等于全自动爬取CVE基础信息
  10. MATLAB_10-模式识别_