美文网首页
mysql服务端结构和运行流程

mysql服务端结构和运行流程

作者: Newzer | 来源:发表于2021-05-25 17:54 被阅读0次

1,连接层:主要用来处理mysql客户端对于mysql服务端的连接的。流程如下:

    1)连接之后会判断用户名密码

    2)校验之后分配一个线程来管理这个连接

    3)查询用户的权限

    4)返回连接id,准备接收sql语句

    show processlist 查询当前用户的连接

2,slq层:主要是处理和优化sql语句,并确定并执行执行计划(从连接层的sql语句接口获取到sql语句)

    1)判断sql语句类型(有query(select),dml(insert,update,delete),ddl(alert),status(show ...)等)

    2)若sql语句类型为query,(mysql8.0之前,先检查查询缓存是否开启,然后检查是否命中缓存,如果命中,则直接返回,若没有命中,则继续下一步,8.0后则直接进入下一步)

    3)sql解析器:将sql划分为小token

    4)语法解析器:根据sql解析器获取得到的token,对token进行排列组合得到解析树(根据where条件的关键字来进行排列组合)

    5)优化器:优化器根据解析树来选择合适的执行计划(这个执行计划不一定总是最优的)

3,存储引擎层:通过存储引擎接口来从磁盘数据层获取获取

4,磁盘数据:数据物理文件

    innodb存储引擎:有两种文件,.ibd 数据和索引文件,.frm 表结构文件(.ibdata1是共享表空间)

    myisam存储引擎:有三种文件,.frm 表结构文件,.myi 索引文件,.myd数据文件

   

相关文章

  • mysql服务端结构和运行流程

    1,连接层:主要用来处理mysql客户端对于mysql服务端的连接的。流程如下: 1)连接之后会判断用户名密码...

  • 使用Docker搭建Wordpress博客

    本次搭建将Wordpress和mysql独立开,都使用docker搭建。 流程 运行 MySQL 容器 创建Wor...

  • MySQL

    MySQL数据库 MySQL是一种c/s结构的软件:客户端/服务端,若想访问服务器必须通过客户端(服务器一直运行,...

  • Mysql基础知识

    Mysql是一种c/s结构的软件,也就是客户端/服务端。当然,服务器是一直运行的,客户端只有在需要的时候才运行。 ...

  • 7.分支语句

    1.程序运行流程 2.if……else……分支结构 3.switch分支结构 程序运行流程的分类 1.顺序结构 2...

  • 数据库基本概念

    基本概念 MySQL MySQL是一种C/S结构:客户端和服务端 服务端对应的软件:Mysqld.exe 启动My...

  • mysql读书笔记1-初识mysql

    学习资源来自《mysql是怎样运行的》 1.1 mysql的客户端/服务端架构 mysql的服务器程序直接与要存储...

  • MySQL面试知识点追命连环问(二)事务、索引及SQL优化

    上次我们讨论了MySQL的运行流程及原理,字段设计,存储引擎和查询缓存。 MySQL面试知识点追命连环问(一) 这...

  • MySQL5.6版本多实例化

    1.MySQL多实例概述 MySQL多实例就是在一台linux服务器上开启多个不同的服务端口,运行多个MySQL服...

  • Linux 命令行导出mysql数据库

    首先切到mysql运行目录下(一般情况下是 usr/local/mysql/) 1.导出数据和表结构 usr/lo...

网友评论

      本文标题:mysql服务端结构和运行流程

      本文链接:https://www.haomeiwen.com/subject/nomucltx.html