MySQL篇|01MySQL体系结构

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 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文件。
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
11月前
|
存储 缓存 关系型数据库
【MySQL进阶篇】存储引擎(MySQL体系结构、InnoDB、MyISAM、Memory区别及特点、存储引擎的选择方案)
MySQL的存储引擎是其核心组件之一,负责数据的存储、索引和检索。不同的存储引擎具有不同的功能和特性,可以根据业务需求 选择合适的引擎。本文详细介绍了MySQL体系结构、InnoDB、MyISAM、Memory区别及特点、存储引擎的选择方案。
1866 57
【MySQL进阶篇】存储引擎(MySQL体系结构、InnoDB、MyISAM、Memory区别及特点、存储引擎的选择方案)
|
存储 SQL 关系型数据库
MySQL体系结构与配置
MySQL体系结构与配置
138 0
|
存储 SQL 关系型数据库
mysql体系结构及主要文件
了解MySQL的体系结构和它的主要文件,能够帮助数据库管理员和开发者更好地管理和优化数据库。这对于数据库的正常运行、性能优化、数据恢复和系统维护来说是至关重要的。通过对这些组件的深入理解,可以更容易地解决数据库问题,并在必要时定制或调整数据库的行为以满足特定的应用需求。
151 0
|
存储 关系型数据库 MySQL
MySQL 体系结构概述
MySQL 体系结构概述
139 0
|
关系型数据库 MySQL 数据库连接
UiPath 连接 Mysql 报错: 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
UiPath 连接 Mysql 报错: 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
593 0
|
存储 关系型数据库 MySQL
【MySQL技术内幕】1-MySQL体系结构和存储引擎
【MySQL技术内幕】1-MySQL体系结构和存储引擎
219 1
|
存储 安全 关系型数据库
|
SQL 存储 关系型数据库
MySQL概述与体系结构
MySQL概述与体系结构
154 1
|
存储 缓存 关系型数据库
MySQL体系结构
MySQL体系结构
|
存储 SQL 缓存
MySQL高级第二篇(共四篇)之体系结构、存储引擎、优化SQL步骤、索引使用、SQL优化
最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于 TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安 全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。
579 1

推荐镜像

更多