目录
- 1、背景
- 2、mysql服务器架构解释
- 3、总结
1、背景
简单理解一下mysql的服务器架构。
2、mysql服务器架构解释
mysql的架构图如下:
主要分为三部分:客户端、服务端、存储引擎。接下来我们来解释一下各个部分:
客户端
用来连接mysql服务器的命令行、各种语言的客户端。
服务端分为:连接器、分析器、优化器、执行器。
连接器
mysql -h 127.0.0.1 -P 3306 -u xxx -p这条命令就是与连接器进行连接,连接成功之后就对用户权限和连接进行管理。
分析器
分析器先进行词法分析:就是识别出sql语句中的select、update、insert、delete关键字还有操作哪些表哪些字段等。
然后进行语法分析:判断这条sql的语法是否正确。
优化器
优化器就是一条sql执行可能会有好几种方案,然后选择一种最合适的方案。比如表里有好几个索引,优化器就会决定最先使用哪个索引。
执行器
调用存储引擎获取结果之前,先判断建立连接的用户对操作的表有不有权限,没权限就报错,有权限就获取存储引擎返回的结果,将符合条件的结果返回给客户端。
存储引擎
存储数据,提供读写接口。
3、总结
简单了解mysql服务器的架构,对一条sql的执行流程有个大概的认识,后续再深入理解各个部分。