MySQL篇|01MySQL体系结构

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: mysql是目前各大公司通用的数据库。无论在工作时还是在面试,都会接触到MySQL涉及到的相关问题。优势:- 免费- 体积小,速度快- 简单易用,维护成本低- 兼容性好,支持多种操作系统- 支持多种开发语言- 易扩展、集群、高可用- 支持事务、MVCC、4种隔离级别等

mysql是目前各大公司通用的数据库。无论在工作时还是在面试,都会接触到MySQL涉及到的相关问题。

优势:

  • 免费
  • 体积小,速度快
  • 简单易用,维护成本低
  • 兼容性好,支持多种操作系统
  • 支持多种开发语言
  • 易扩展、集群、高可用
  • 支持事务、MVCC、4种隔离级别等

当然,在我们使用mysql时,会遇到各种问题:死锁、延迟、字符集错误、慢查询等等。所以,需要深入学习其原理才能快速定位问题,解决问题。

体系结构

MySQL的体系结构图

图片

MySQL体系结构由4部分组成

Client Connectors层

作用:负责处理客户端的连接请求,与客户端创建连接。

几乎支持所有的服务端的语言

MySQL Server层

  • 连接池Connection Pool

    • 负责处理和存储数据库与客户端的连接(一个线程管理一个连接)
    • 其中含有用户认证模块(用户身份验证和鉴权及安全管理)
  • 系统管理和工具集Services & Utilities

    • 提供备份恢复、安全管理、集群管理服务和工具
  • SQL接口 SQL Interface

    • 负责接收客户端发送的各种SQL语句,如:DML、DDL、储存过程等
  • 解析器Parser

    • 对SQL语句进行语法解析生成解析树
  • 查询优化器Opyimizer

    • 根据解析树生成执行计划,并选择合适的索引,然后按照执行计划SQL语句并与各个存储引擎交互
  • 缓存Caches

    • MySQL表缓存,记录缓存,也包含各个存储引擎的缓存部分,也会存储一些权限和session级别的缓存

StorageEngines存储引擎层

插件式的存储引擎:任何只要定义好与MySQL Server交互的接口,任何引擎都可以访问MySQL

存储引擎包括MyISAM、InnoDB、支持归档的Archive 、内存Memory等

重点储存引擎:InnoDB、MyISAM

系统文件层

文件的物理储存,包括通用查询日志、二进制日志,数据文件,错误日志,慢查询日志,全日志,redo/undo日志等

  • 错误日志:

    • MySQL运行过程中产生的错误信息
    • 查看错误日志:show variabes like '%log_error%'
  • 通用查询日志:

    • MySQL运行过程中产生的一般查询信息
    • 查看通用查询日志:show variabes like '%general%'
  • 二进制日志:

    • 记录MySQL数据量执行插入、修改、删除的操作,包括SQL语句执行的时间和时长
    • 恢复数据库的数据和实现MySQL主从复制都通过二进制日志

      show variables like '%log_bin%' //查看是否开启二进制日志
      show variables like '%binlog%'  // 查看二进制日志参数
      show  binary logs // 查看日志文件
  • 慢查询日志

    • 记录了SQL语句执行时间超过指定的时间(默认时间是10s)

      show variables like '%slow_query%' //查看是否开启了慢查询日志
      show variables like '%long_query_time%' //查询慢查询设置时间
  • 数据文件

    • 主要包含:db.opt文件、frm文件、MYD文件、MYI文件、ibd文件、ibdata文件、ibdata1文件、ib_logfile0和ib_logfile1文件
  • 配置文件

    • MySQL的所有配置信息
    • Unix/Linux系统是my,cnf文件,Windows系统是my.ini文件。
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6天前
|
存储 缓存 关系型数据库
MySQL体系结构
MySQL体系结构
|
10月前
|
存储 关系型数据库 MySQL
MySQL 体系结构概述
MySQL 体系结构概述
32 0
|
6月前
|
SQL 存储 关系型数据库
MySQL概述与体系结构
MySQL概述与体系结构
33 1
|
9月前
|
存储 关系型数据库 MySQL
java202303java学习笔记第四十三天函数-存储引擎-mysql体系结构
java202303java学习笔记第四十三天函数-存储引擎-mysql体系结构
45 0
|
10月前
|
存储 SQL 缓存
MySQL高级第二篇(共四篇)之体系结构、存储引擎、优化SQL步骤、索引使用、SQL优化
最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于 TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安 全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。
380 1
|
11月前
|
存储 关系型数据库 MySQL
java202303java学习笔记第四十三天函数-存储引擎-mysql体系结构
java202303java学习笔记第四十三天函数-存储引擎-mysql体系结构
68 0
|
11月前
|
关系型数据库 MySQL
java202303java学习笔记第四十三天函数-mysql体系结构
java202303java学习笔记第四十三天函数-mysql体系结构
57 0
|
12月前
|
SQL 存储 缓存
MySQL - 体系结构初探
MySQL - 体系结构初探
60 0
|
12月前
|
存储 SQL 缓存
MySQL-体系结构以及常用存储引擎MyISAM和InnoDB初探
MySQL-体系结构以及常用存储引擎MyISAM和InnoDB初探
69 0
|
12月前
|
存储 SQL 缓存
看了这一篇文章,你还不懂MySQL体系结构,你来找我
工作很长时间了,对于数据库的掌握程度却仅仅停留在表面的CRUD阶段,对于深层次的原理和技术知识了解的少之又少,随着岁数不断的增长。很多时候,出去找工作很迷茫,被面试官问的感觉自己很菜。现在利用工作休息时间,把自己现有的资料和新学的知识进行总结。也算是一种深层次的理解和掌握。本文章收录在MySQL性能优化+原理+实战专栏,更多的MySQL优化点击此处查看开篇介绍。 在以后的学习中,我会创建一个没有权限的用户,进行MySQL权限和优化的实战。 关于有些系统变量的作用及在学习中遇见的ERROR会全部会收录到开篇介绍一文当中。
367 0