mysql体系结构

MySQL体系结构

1.客户端程序连接MySQL的两种方法

  • 通过网络连接
    mysql -u roo -poldboy123 -h 10.0.0.52
  • 通过套接字件文
    mysql -u root -poldboy -S /tmp/mysql.sock

2.MySQL实例概念

mysql实例:MySQL的后台进程+线程+预分配的内存结构

3.MySQLD服务程序构成

3.1 连接层

连接层主要用来处理与客户端的连接与验证,如TCP/IP连接,sock的连接,然后再进行身份验证,验证成功之后会开启一个线程

3.2 SQL层的处理流程

1、接收到连接层送过过来的“SQL”
2、由专门的模块,会判断SQL语法、语义(SQL语句的类型:DDL、DCL、DML)
3、将不同类型的语句,送到专门的处理接口(解析器)
4、解析器,将SQL解析成执行计划
5、优化器,会选择“它”最优的执行计划交给执行器
6、执行器,执行 执行计划,得出如何去“磁盘”获取数据的方法
7、专门线程将获取数据的方法,送给下层(存储引擎层)继续处理。
8、验证授权,当前用户对 库或表对象有没有操作的权限。
9、查询高速缓存query_cache。
10、记录修改操作日志binlog。

3.3 存储引擎层

存储引擎是充当不同表类型的处理程序的服务器组件

  • 存储引擎用于:
    存储数据
    检索数据
    通过索引查找数据
  • 双层处理
    上层包括SQL解析器和优化器
    下层包含一组存储引擎
  • SQL层不依赖于存储引擎:
    引擎不影响SQL处理
    有一些例外

3.3.1 依赖于存储引擎的功能

  • 存储介质
  • 事务功能
  • 锁定
  • 备份和恢复
  • 优化
  • 特殊功能:
    全文搜索
    引用完整性
    空间数据处理

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

原文地址:https://www.cnblogs.com/yjiu1990/p/10845443.html