MySQL 知识连载(一)

点击上方“追梦 Java”关注,一起追梦!

52118e1f131efbdd48e882ce335336fd.png

MySQL 是一款开源软件,凭借其出色的性能,目前已经成为绝大多数互联网公司的首选关系型数据库。因此程序员不能只懂数据库的增删改查和一些简单的使用技巧,更需要熟练掌握 MySQL 的一些原理知识,从而更好地应对实际工作中遇到的问题。

1

了解 MySQL 的整体架构

77d8326cc739080a5fd851d46d967ecb.png

1、MySQL 官网介绍

学习了解一个技术最好的方式是通过官网去了解,官网上有详细的文档资料可供学习。很多人不习惯从官网上查找资料,甚至不清楚如何在官网上下载程序安装包,如何找到官方的学习文档,下面给大家做个简单的介绍。面对复杂的英文文档,大家不必发憷,看多了就习惯了,实在看不了,不是还有各种翻译软件吗。

2、MySQL下载

MySQL 官网地址:https://dev.mysql.com/

打开后界面如下:其中 DOWNLOADS 和 DOCUMENTATION 两个标签就是下载和文档的入口。

MySQL 知识连载(一)_第1张图片

打开 DOWNLOADS 页面,找到最下方的 MySQL Community (GPL) Downloads ,下载社区版即可,免费使用。

MySQL下载地址:https://dev.mysql.com/downloads/mysql/

打开后点击:MySQL Community Server ,点击 Looking for previous GA versions? 选择 MySQL 的历史通用版本。

MySQL 知识连载(一)_第2张图片

下载时需要注册 Oracle 的账户。MySQL 知识连载(一)_第3张图片

3、MySQL 文档

MySQL 知识连载(一)_第4张图片

从左边的菜单选择感兴趣的内容可以进行学习。

MySQL 知识连载(一)_第5张图片

2

了解 MySQL 的架构

c14737ae1fc213af16856c22de4359df.png

1、MySQL架构图

在 MySQL5.1 的中文文档资料里,有如下的一张 MySQL 插件式存储引擎的体系结构图,通过这张图(https://www.mysqlzh.com/doc/134.html),我们能很好地了解 MySQL 的整体架构。

MySQL 知识连载(一)_第6张图片

从以上的架构图我们可以看出,最上面的 Connectors 表示客户端,客户端就是一些具体的链接协议;下面的 MySQL Server 表示服务端,其中包括Connection Pool 、SQL Interface、Parser、Optimizer、Storage Engines、文件系统(Files、Logs)以及管理服务。

2、MySQL 架构介绍

从上面的分析可以看出,MySQL 服务器主要包括 sql 层和存储引擎层,主要包括以下6个部分:

1、客户端的链接支持的协议很多,比如我们在 Java 开发中经常用到的 JDBC,客户端请求过来首先会由 Connection Pool 进行管理,包括权限认证、链接管理,缓存管理等,Connection Pool 最主要的功能就是接收客户端的请求。

2、客户端一个 sql 语句请求过来之后, SQL Interface 会统一接收用户的 sql 命令,接下来会交给 Parser 来进行解析。

3、Parser 解析器的目的是把 sql 的文本解析成 select_lex 对象,随后把 select_lex 对象提交给优化器 Optimizer。

4、优化器 Optimizer 会进行 sql 执行的成本计算,找到最优的一个执行计划,然后会调用下方存储引擎 Storage Engines 的API 进行数据的读写。

5、存储引擎 Storage Engines 最终操作的是最下方的文件系统,包括 Files 和 Logs。

6、图中左上角的工具模块包括备份、主从复制等功能。

后面将为大家介绍 MySQL 的存储引擎。

有用的话点个在53174f3cded57d9f85b6c9646b446990.png

你可能感兴趣的:(mysql,数据库)