zoukankan      html  css  js  c++  java
  • mysql 体系结构与服务构成

    MySQL体系结构

    1.客户端与服务端模型

    1)mysql是一个典型的C/S服务结构

    1.mysql客户端
        mysql
        mysqladmin
        mysqldump
    
    2.mysqld一个二进制程序,后台的守护进程
    	单进程
    	多线程
    

    2)MySQL的两种连接方式

    1.TCP/IP的连接方式
    2.套接字连接方式
    
    3.举例:
    	1)TCP/IP连接
    	mysql -uroot -p -h127.0.0.1
    	mysql -uroot -p -h127.0.0.1 -S /tmp/mysql.sock
    	
    	2)socket连接
    	mysql -uroot -p -hlocalhost
    	mysql -uroot -p123
    
    4.注意:
    	1)不一定加了 -h 就是TCP/IP连接,localhost就是特别的一个
    	2)socket连接比TCP/IP连接速度快,因为不需要建立连接,不需要经过三次握手四次挥手
    

    MySQL服务构成

    1.实例

    1.MySQL的后台进程+线程+预分配的内存结构。
    2.MySQL在启动的过程中会启动后台守护进程,并生成工作线程,预分配内存结构供MySQL处理数据使用。
    
    3.什么是实例:一个进程 + 多个线程 + 一个预分配的内存空间
    4.多实例:多个进程 + 多个线程 + 多个预分配的内存空间
    

    2.MySQL服务程序结构

    1)连接层

    1.验证用户身份,验证用户名和密码是否匹配
    2.提供了两种连接方式
    3.连接层提供了一个与sql层交互的线程
    

    2)SQL层

    1.接收连接层传过来的sql语句
    2.验证sql语句的语法
    3.验证sql语句的语义(DDL,DQL,DML,DCL)
    4.解析器:解析sql语句,生成执行计划
    5.优化器:从执行计划中选择最优的一条
    6.执行器:执行选出来的计划
    	1)与存储引擎层建立交互的线程
    	2)将要执行的sql语句传到存储引擎层
    7.如果有缓存,读取缓存
    8.记录binlog日志
    

    3)存储引擎层

    1.建立与sql交互的线程
    2.接收sql层传来的sql语句
    3.与磁盘交互,获取数据,并返回给sql层
    

    3.mysql的逻辑结构

    1.库
    2.表:元数据+真实数据行
    3.元数据:列+其它属性(行数+占用空间大小+权限)
    4.列:列名字+数据类型+其他约束(非空、唯一、主键、非负数、自增长、默认值)
    

    1)MySQL逻辑结构与Linux系统对比

    MySQL Linux
    目录
    show databases; ls -l /
    use mysql cd /mysql
    文件
    show tables; ls
    二维表=元数据+真实数据行 文件=文件名+文件属性

    4.MySQL物理结构

    1.MySQL的最底层的物理结构是数据文件,也就是说,存储引擎层,打交道的文件,是数据文件。
    2.存储引擎分为很多种类(Linux中的FS)
    3.不同存储引擎的区别:存储方式、安全性、性能
    
  • 相关阅读:
    node错误: primordials is not defined
    单片机TTL转RS232模块DB9数据线接口排针接口多接口方便连接
    单片机串口自适应电平5V TTL电平兼容转换3.3V电平串口转换NMOS管
    USB串口转RS485转换器工业级usb串口转RS485模块转换器串口通讯
    Kafka丢数据、重复消费、顺序消费的问题
    纪念第一次做的拉花拿铁
    《奢侈的理由》总结
    【算法框架套路】回溯算法(暴力穷举的艺术)
    svg中矩形旋转问题
    性能测试工具集锦
  • 原文地址:https://www.cnblogs.com/xiaolang666/p/13846678.html
Copyright © 2011-2022 走看看