MySQL体系架构

MYSQL体系结构.png

开局一张图 内容全靠编

本文主要是说一下,MySQL都有哪些部分组成,这些部分分别是什么作用,俯瞰一下MySQL。

连接池

负责存储和管理与数据库的连接. 每个连接都是一个 IO 操作,, 每个 IO 操作对应一个线程。从而实现数据库为多个连接服务。

数据库服务管理工具

数据备份,集群,安全等工具。

SQL 接口

接受各种SQL语句(DDL,DML,存储过程等),并返回查询结果。

查询解析器

负责将 SQL 接口,接收的 SQL 语句进行解析,验证语法是否合法。

查询优化器

将 解析器 解析好的语法,进行优化并转化为执行计划。然后与存储引擎交互。

select id,name from t_user where age > 10;
优化后的执行计划是先过滤出 age>10 的数据,然后取出 idname 字段对应的值。而不是先查询所有数据再过滤。

缓存

查询缓存中存在结果,查询语句就直接返回。由各种小缓存组成,如:表缓存,记录缓存,权限缓存,引擎缓存等。

插件式存储引擎

存储引擎负责数据的存储与读取,与底层物理存储文件交互。MySQL存储引擎式插件式的,查询优化器与存储引擎通过接口进行交互,接口屏蔽了各个存储引擎的差异。

系统物理文件

日志文件

  • 错误日志

    默认开启。

  • 通用日志

    记录一般查询日志。

  • 二进制日志

    记录了对数据库的更改操作,并记录了执行时间,执行时长。但不记录查询操作。主要用于数据库的恢复和主从复制。

  • 慢查询日志

    记录所有执行时间超时的 SQL。默认超时时间为 10 秒。

配置文件

MySQL相关的配置文件。如 my.cnf

数据文件

存储各个存储引擎特有的数据文件,表元数据,日志文件等。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一文搞懂MySQL体系架构!! 文章已收录到:https://github.com/sunshinelyz/tec...
    iamChel阅读 362评论 0 0
  • 写在前面 很多小伙伴工作很长时间了,对于MySQL的掌握程度却仅仅停留在表面的CRUD,对于MySQL深层次的原理...
    冰河团队阅读 337评论 0 1
  • 1. MySQL的组成 由上图看出MySQL由上面的连接层和下面的服务器组成。服务器由连接池、管理工具和服务, S...
    IT三明治阅读 316评论 0 0
  • MySQL Server 架构自顶向下大致可以分 网络连接层、服务层、存储引擎层 和 系统文件层。 1. 网络连接...
    雪砺青松灬阅读 141评论 0 0
  • 1.MySQL体系结构 由图,可以看出MySQL最上层是连接组件。下面服务器是由连接池、管理工具和服务、SQL接口...
    晨风0o阅读 101评论 0 0