千家信息网

什么是MySQL的整体架构

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,下文主要给大家带来什么是MySQL的整体架构,希望这些内容能够带给大家实际用处,这也是我编辑什么是MySQL的整体架构这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。整体架构图我们先看一下My
千家信息网最后更新 2026年11月02日什么是MySQL的整体架构

下文主要给大家带来什么是MySQL的整体架构,希望这些内容能够带给大家实际用处,这也是我编辑什么是MySQL的整体架构这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。

整体架构图

我们先看一下MySQL的架构图,对其先有一个整体的了解。MySQL主要分为四层架构,分别是网络连接层,服务层,存储引擎层,物理层。我们平常写的SQL语句,以及对SQL语句的优化都在服务层,他其实就是遵循一定的原则使得SQL语句能够按我们的预期效果执行。

各部分介绍

网络连接层

主要负责连接管理,授权认证,安全等。每个客户端连接都对应着云服务器上的一个线程。云服务器上维护一个线程池,避免为每个连接创建和销毁线程。当客户端连接到MySQL云服务器时,云服务器对其进行认证。可以通过用户名与密码认证,也可以通过SSL证书进行认证。登录认证后,云服务器还会验证客户端是否有执行某个查询的操作权限。这一层并不是MySQL所特有的技术。

服务层

该层是MySQL的核心,包括查询缓存,解析器,解析树,预处理器,查询优化器。

  • 查询缓存

在正式查询之前,云服务器会检查查询缓存,如果能找到对应的查询,则不必进行查询解析,优化,执行等过程,直接返回缓存中的结果集。

  • 解析器和预处理器

MySQL的解析器会根据查询语句,构造出一个解析树,主要用于根据语法规则来验证语句是否正确,比如SQL的关键字是否正确,关键字的顺序是否正确。

而预处理器主要是进一步校验,比如表名,字段名是否正确等。

  • 查询优化器

查询优化器将解析树转化为查询计划,一般情况下,一条查询可以有很多种执行方式,最终返回相同的结果,优化器就是找到这其中最优的执行计划

  • 执行计划

在完成解析和优化阶段后,MySQL根据相应的执行计划去调用存储引擎层提供的相应接口来获取结果。

存储引擎层

负责MySQL数据的存储和提取,是通过提供一系列的接口来屏蔽不同引擎之间的差异。

注意:存储引擎是针对表的,而不是针对库。也就是说同一个库里面的不同表可以拥有不同的存储引擎。

常见的存储引擎有两种,MyISAM和InnoDB,下面我们来看下他们的区别。

首先,我们先创建一个存储引擎为MyISAM的test1表。

create table test1( a INTEGER, b varchar(10) )ENGINE=MyISAM;

我们可以去MySQL的相关目录看一下他实际存储的内容,发现他对应着三个文件。

其次,我们再创建一个存储引擎为InnoDB的test2表。

create table test2( a INTEGER, b varchar(10) )ENGINE=INNODB;

我们再去看一下他实际存储的内容,发现他对应这一个文件。

那么问题就来了,他的数据文件和索引文件存放在哪里啦。这边先留个问题,下下篇"文件"再说。

物理层

将数据存放在硬盘上。

整体流程

我们发送一条SQL语句,其在MySQL中的整体流程究竟是什么样的?

  • 用户先通过Navicat等客户端与服务端建立连接,这边需要用户名和密码进行认证,也可以用SSL证书进行认证。

  • 登录成功后,MySQL会根据相应权限来判断该角色是否拥有一些表的权限等。

  • 如果拥有相关权限,当用户发送一条查询select语句时,MySQL先查询缓存,如果已经有这条语句的缓存,则直接返回,如果没有则执行下面的流程。如果是更新update,新增insert,删除delete则不查询缓存,直接执行下面的流程。

  • MySQL会将SQL语句解析为树,然后对其进行校验,比如关键字是否正确,关键字顺序是否正确,表名是否正确,字段是否正确等。如果认证没有成功,则直接返回错误。如果认证成功了,则直接下面流程。

  • MySQL对解析树进行查询优化,因为多个SQL可能表达的意思一样,但是消耗的时间可能差别很大。所以MySQL对针对表的存储引擎找到最优的语句执行,也就是生成相应的执行计划。

  • 使用上面生成的执行计划,来调用存储引擎层的接口。也就是我们平时使用的explain,其可以用来查看是否走索引,消耗的时间等信息。

  • 不同的存储引擎会到相应的物理存储位置,找到相应的数据,封装并返回结果。

  • 如果拿到了结果集,并且为select语句,MySQL会将结果放入到缓存中,避免下次再进行相同的操作而造成资源的消耗,同时返回给客户端结果,至此,一条SQL语句的执行过程结束啦。

  • 对于以上关于什么是MySQL的整体架构,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。

查询 存储 引擎 语句 服务 认证 缓存 整体 结果 架构 服务器 内容 客户 客户端 文件 流程 不同 关键 关键字 数据 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 盈实互联网科技 互联网下的科技发展 科技与互联网发展 西安互联网科技公司 猫创互联网科技 互联网养老 桔豆科技 互联网科技有限公司 翻译 无锡溥仪互联网科技有限公司 中国最先进互联网科技公司 全球顶尖互联网科技公司 苏州五指互联网络科技有限 成都互联网科技公司工作好不好 互联网数据科技专业 世界互联网领先科技成果获奖 陕西九四连强互联网科技有限公司 互联网时代高科技布局 广州三三互联网科技有限公司 马化腾互联网科技教学 承德科技产业互联网平台 株洲百竞科技的互联网营销顾问 互联网科技园 厦门中拓互联网络科技有限公司 新华互联网科技校企合作 恒生互联网科技指数跳水 996高科技互联网公司 群盈汇互联网科技有限公司 深圳互联网科技的发展 广州百诚互联网科技有限公司官网 互联网时代科技型公司的机会 兰石爱特工业互联网科技分公司
0