MySQL篇|01MySQL体系结构

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 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文件。
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4月前
|
存储 SQL 关系型数据库
MySQL体系结构与配置
MySQL体系结构与配置
59 0
|
4月前
|
存储 SQL 关系型数据库
mysql体系结构及主要文件
了解MySQL的体系结构和它的主要文件,能够帮助数据库管理员和开发者更好地管理和优化数据库。这对于数据库的正常运行、性能优化、数据恢复和系统维护来说是至关重要的。通过对这些组件的深入理解,可以更容易地解决数据库问题,并在必要时定制或调整数据库的行为以满足特定的应用需求。
67 0
|
4月前
|
关系型数据库 MySQL 数据库连接
UiPath 连接 Mysql 报错: 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
UiPath 连接 Mysql 报错: 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
132 0
|
6月前
|
存储 关系型数据库 MySQL
【MySQL技术内幕】1-MySQL体系结构和存储引擎
【MySQL技术内幕】1-MySQL体系结构和存储引擎
48 1
|
6月前
|
存储 安全 关系型数据库
|
存储 关系型数据库 MySQL
MySQL 体系结构概述
MySQL 体系结构概述
60 0
|
7月前
|
存储 缓存 关系型数据库
MySQL体系结构
MySQL体系结构
|
SQL 存储 关系型数据库
MySQL概述与体系结构
MySQL概述与体系结构
70 1
|
存储 SQL 缓存
MySQL高级第二篇(共四篇)之体系结构、存储引擎、优化SQL步骤、索引使用、SQL优化
最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于 TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安 全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。
456 1
|
存储 关系型数据库 MySQL
java202303java学习笔记第四十三天函数-存储引擎-mysql体系结构
java202303java学习笔记第四十三天函数-存储引擎-mysql体系结构
60 0