前言:
目前看官们对“mysql5”大概比较注重,同学们都想要剖析一些“mysql5”的相关知识。那么小编在网摘上汇集了一些有关“mysql5””的相关内容,希望我们能喜欢,兄弟们快快来学习一下吧!MySQL 是一款开源软件,凭借其出色的性能,目前已经成为绝大多数互联网公司的首选关系型数据库。因此程序员不能只懂数据库的增删改查和一些简单的使用技巧,更需要熟练掌握 MySQL 的一些原理知识,从而更好地应对实际工作中遇到的问题。
1、了解 MySQL 的整体架构
1、MySQL 官网介绍
学习了解一个技术最好的方式是通过官网去了解,官网上有详细的文档资料可供学习。很多人不习惯从官网上查找资料,甚至不清楚如何在官网上下载程序安装包,如何找到官方的学习文档,下面给大家做个简单的介绍。面对复杂的英文文档,大家不必发憷,看多了就习惯了,实在看不了,不是还有各种翻译软件吗。
2、MySQL下载
MySQL 官网地址:
打开后界面如下:其中 DOWNLOADS 和 DOCUMENTATION 两个标签就是下载和文档的入口。
打开 DOWNLOADS 页面,找到最下方的 MySQL Community (GPL) Downloads ,下载社区版即可,免费使用。
MySQL下载地址:
打开后点击:MySQL Community Server ,点击 Looking for previous GA versions? 选择 MySQL 的历史通用版本。
下载时需要注册 Oracle 的账户。
3、MySQL 文档
从左边的菜单选择感兴趣的内容可以进行学习。
2、了解 MySQL 的架构
1、MySQL架构图
在 MySQL5.1 的中文文档资料里,有如下的一张 MySQL 插件式存储引擎的体系结构图,通过这张图(),我们能很好地了解 MySQL 的整体架构。
从以上的架构图我们可以看出,最上面的 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 的存储引擎。