首页 > 数据库 >MySQL体系结构和存储引擎

MySQL体系结构和存储引擎

时间:2022-10-14 19:35:01浏览次数:43  
标签:存储 实例 数据库 引擎 MySQL 组件 体系结构

1. 数据库和实例

数据库:物理操作系统文件或其他形式文件类型的集合。
实例:MySQL数据库由后台线程以及一个共享内存区组成。(数据库实例才是真正用于操作数据库文件的

实例与数据库的关系通常是一一对应的,但是在集群情况下可能存在一个数据库被多个数据实例使用的情况。

MySQL被设计为一个单进程多线程架构的数据库,也就是说MySQL数据库实例在系统上的表现就是一个进程

从概念上说,数据库是文件的集合,是依照某种数据模型组织起来并存放于二级存储器中的数据集合;数据库实例是程序,是位于用户与操作系统之间的一层数据管理软件,用户对数据库数据的任何操作,包括数据库定义、数据查询、数据维护、数据库运行控制等都是在数据库实例下进行的。用户只有通过数据库实例才能和数据库打交道。

2. MySQL体系结构

在这里插入图片描述

由上图可以看出,MySQL由以下几部分组成:

  1. 连接池组件
  2. 管理服务和工具组件
  3. SQL接口组件
  4. 查询分析器组件
  5. 优化器组件
  6. 缓冲组件
  7. 插件式存储引擎
  8. 物理文件

3. MySQL存储引擎

MySQL数据库的核心就在于存储引擎!!!

一些主流引擎有:

  1. InnoDB存储引擎(基本上大部分顶尖公司都是使用该引擎
  2. MyISAM存储引擎
  3. NDB存储引擎
  4. Memory存储引擎
  5. Archive存储引擎
  6. Federated存储引擎
  7. Maria存储引擎
  8. 其他存储引擎

在这里插入图片描述
注意:MySQL存在不支持事务(Transactions)的存储引擎

4. 连接MySQL

连接MySQL本质上是进程通信。常用的进程通信方式有:

  1. 管道
  2. 命名管道
  3. 命名字
  4. TCP/IP套接字(任何平台下都提供的连接方式,也是网络中使用得最多得一种方式;客户端在一台服务器上,MySQL实例在另一台服务器上)
  5. UNIX域套接字(基于UNIX和Linux环境,客户端和MySQL实例都在一台服务器上)

标签:存储,实例,数据库,引擎,MySQL,组件,体系结构
From: https://www.cnblogs.com/astralcon/p/16792760.html

相关文章

  • InnoDB存储引擎
    1.InnoDB体系架构1.1后台线程后台线程的主要作用是负责刷新内存池中的数据,保证缓冲池中的内存缓存的是最近的数据;此外将已修改的数据文件刷新到磁盘文件,同时保证在数......
  • InnoDB存储引擎:事务
    认识事务概述事务:访问并更新数据库中各种数据项的一个程序执行单元。数据库引入事务的主要目的:事务会把数据库从一种一致状态转换为另一种一致状态。在数据库提交工作时......
  • MySQL进阶
    1、存储引擎1.1、MySQL体系结构连接层:最上层是一些客户端和链接服务,主要完成一些类似于连接处理、授权认证以及相关的安全方案。吴福气也会为安全接入的每个客户端验证......
  • mysql用户变量的应用:查询所有的节点或查询所有的子节点
    用户变量:以"@"开始,形式为"@变量名"创建用户定义的变量,请使用格式@variable_name,其中variable_name包含字母数字字符。从MySQL5.7.5开始,用户定义变量的最大长度为64个字......
  • 项目概述、部署数据库服务mysql、配置网站服务、测试配置
    Project3_day01知识点:一、准备数据库服务器二、搭建数据库服务器三、配置MySQL主从同步四、配置读写分离服务器五、配置数据库服务器六、配置网站服务器七、测试配......
  • 项目4 MySQL数据表的检索总结
    目录​​【任务4.1】查询时选择列​​​​1.基本查询语句​​​​2,检索所有列​​​​3.检索指定列​​​​(1)检索单个字段​​​​(2)检索多个字段​​​​(3)定义别名​​​......
  • MySQL全局锁和表锁
    MySQL全局锁和表锁该文摘抄自林晓斌老师的文章数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁......
  • 数据库内置表的研究 & Mysql的文件操作
    数据库内置表的研究+通过命令写shell0x00SQLite内置表的研究SQLITE_MASTER表是一张SQLite数据库的伴生表,该表会自动创建,是用来存储数据库的元信息的,如:表(table),索引......
  • MySql的CURRENT_TIMESTAMP
    MySql的CURRENT_TIMESTAMP在创建时间字段的时候DEFAULTCURRENT_TIMESTAMP表示当插入数据的时候,该字段默认值为当前时间ONUPDATECURRENT_TIMESTAMP表示每次更新这条数......
  • Mysql基础第二天,安装Navicat
    1.我们到http://www.navicat.com这个网站下载Navicat2.现在开始安装3.点击下一步之后4.点击下一步5.点击下一步,等待安装6.点击完成7.打开软件,我们新建一个连接8.点击Mysql......