而存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、
Memory 等多个存储引擎。现在最常用的存储引擎是 InnoDB,它从 MySQL 5.5.5 版本开
始成为了默认存储引擎。
也就是说,你执行 create table 建表的时候,如果不指定引擎类型,默认使用的就是
InnoDB。不过,你也可以通过指定存储引擎的类型来选择别的引擎,比如在 create table
语句中使用 engine=memory, 来指定使用内存引擎创建表。不同存储引擎的表数据存取方
式不同,支持的功能也不同,在后面的文章中,我们会讨论到引擎的选择。
从图中不难看出,不同的存储引擎共用一个Server 层,也就是从连接器到执行器的部分。
你可以先对每个组件的名字有个印象,接下来我会结合开头提到的那条 SQL 语句,带你走
一遍整个执行流程,依次看下每个组件的作用。
连接器
第一步,你会先连接到这个数据库上,这时候接待你的就是连接器。连接器负责跟客户端建
立连接、获取权限、维持和管理连接。连接命令一般是这么写的:
输完命令之后,你就需要在交互对话里面输入密码。虽然密码也可以直接跟在 -p 后面写在
命令行中,但这样可能会导致你的密码泄露。如果你连的是生产服务器,强烈建议你不要这
么做。
连接命令中的 mysql 是客户端工具,用来跟服务端建立连接。在完成经典的 TCP 握手后,
连接器就要开始认证你的身份,这个时候用的就是你输入的用户名和密码。
相关文档
评论