zoukankan      html  css  js  c++  java
  • Mysql体系结构管理

    1.客户端与服务端模型

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

    1.mysql自带的客户端工具
    	mysql
    	mysqladmin
    	mysqldump
    	
    3.mysql是一个二进制程序,后台守护进程
    	单进程
    	多线程
    

    2)mysql的连接方式

    1.TCP/IP连接
    2.socket连接
    
    	#tcp/ip连接
    	mysql -uroot -p -h127.0.0.1
    	mysql -uroot -p -h127.0.0.1 -S /tmp/mysql.sock
    	
    	#socket连接
    	mysql -uroot -p -hlocalhost
    	mysql -uroot -p
    	
    	#注意:
    	1)不一定-h就是TCP/IP连接,如果是localhosts就是socket连接
    	2)socket连接比TCP/IP连接快,TCP/IP连接需要经过三次握手,四次挥手,慢
    	3)socket连接只能本地连接,远程不能使用
    

    2.MySQL服务构成

    1)什么是实例

    1.MySQL的后台进程 + 线程 + 预分配的内存空间
    2.MySQL在启动的过程中会启动后台守护进程,并生成工作线程,预分配内存结构供MySQL处理数据使用。
    

    预分配内存,比如分配了8G给数据库,那么数据库启动的时候就占用8G的内存空间,但是超过了的占用内存的也不会被打开。

    2.MySQL服务程序构成

    1)连接层

    1.验证用户身份,判断用户名和密码
    2.提供两种连接方式
    	- sockect 连接
    	- TCP/IP 连接
    3.与SQL层建立交互的线程
    

    2)sql层

    1.接收连接层传过来的数据
    2.判断sql语句的语法
    3.判断SQL语句的语义
    4.解析器:解析sql语句,生成执行计划
    5.优化器:选出执行计划中最优的计划
    6.执行器:解析sql语句,生成执行计划
    	6.1 与存储引擎层建立交互
    	6.2 将优化后要执行的SQL发给存储引擎层
    7.记录缓存,如果前端有redis,将数据缓存至redis
    8.记录日志
    

    3)存储引擎层

    1.与sql层建立交互,接收SQL层传来的SQL语句
    2.与磁盘进行交互,获取数据,将数据返回给sql层
    
  • 相关阅读:
    使用Docker Swarm搭建分布式爬虫集群
    如果你不知道做什么,那就学一门杂学吧
    正则表达式re.sub替换不完整的问题现象及其根本原因
    Visual Studio 2019 正式版今日发布 key
    net core 记录自定义端口多个方式
    HTTP Error 500.0
    来自后端的逆袭 blazor简介 全栈的福音
    创建一个RAS 非对称 公私密钥示例
    树莓派安装window ioT
    WPF USB设备采集开源工具介绍
  • 原文地址:https://www.cnblogs.com/gshelldon/p/14073169.html
Copyright © 2011-2022 走看看