mysql体系结构管理

1.客户端与服务器模型

#msyql是一个典型的C/S服务结构

  1)mysql自带的客户端程序(application  、mysql  、bin)

  mysql

  msyqladmin

  mysqldump

  2)mysql是一个二进制程序,后台的守护进程

  单进程

  多线程

#mysql应用程序的连接方式

  TCP/IP的连接方式

 

  套接宇连接方式

2什么是实例

    1)mysql的后台进程+线程+预分配的内存结构

    2)mysql在启动过程中会启动后台守护进程,并生成工作线程,预分配内存结构供mysql处理数据使用

MYSQL服务器程序构成

  ##mysql是一个守护进程但自身不能自主启动

 

连接层:

       1.提供一个连接协议:

           tcp/ip

        socket

     2.验证用户的合法性:

        用户 (user@‘主机域’)

        密码

        端口

      3.提供一个线程给SQL层   (接收SQL层返回的数据,接收SQL交给SQL层)

SQL层:

      1.接收连接层的SQL语句

      2.检查语法

      3.判断语义 ,是select还是show       (DDL  DML  DCL  DQL)

      4.解析器:专门解析这个SQL语句,生成多种执行计划

      5.优化器:选择最优的执行方式

      6.执行器:把优化器提供的最优方式的SQL去执行。  (提供一个专用的线程和存储引擎层交互)

      7.接收存储引擎,返回的结构化的数据

          1.返回给用户

          2.把拿到的数据存在前端的缓存中

      8.记录日志:binlong

存储引擎层:

      1.接收SQL层传来的最优执行的SQL

      2.和磁盘监护,取出磁盘中的数据 (形成一个结构化的表格)

      3.返回给SQL层

3.mysql的结构

mysql的逻辑结构

  mysql的逻辑对象:作为管理人员或开发人员的操作对象

1、库

2、表:元数据+真实数据行

3、元数据:列+其它属性(行数+占用空间大小+权限)

4、列:列名字+数据类型+其他约束(非空、唯一、主键、非负数、自增长、默认值)

最直观的数据:二维表,必须用库来存放

## mysql的物理结构

   1)mysql的最底层的物理结构是数据文件,也就是说,存储引擎层打交道的文件时数据文件

  2)存储引擎分为很多种类

  3)不同存储引擎的区别:存储方式、安全性、性能

段、区、页(块)

1、段:理论上一个表就是一个段,由多个区构成,(分区表是一个分区一个段)

2、区:连续的多个页构成

3、页:最小的数据存储单元,默认是16k

 

posted @ 2018-11-22 20:49  只许澎湃不许爱  阅读(142)  评论(0编辑  收藏  举报