mysql内部执行原理

Posted by epimetheusQ on 2021-09-10

MySQL详解

MySQL内部执行过程

MySQL中从基本架构示意图可以看出,分为两层,分别是Server层和存储引擎层。

Server层:

名词 解释
1.连接器 管理连接,权限验证
2.分析器 词法分析,语法分析
3.查询缓存 命中缓存直接返回结果(大并发或大量更改不适用,更改会清空缓存,不建议使用)
4.优化器 执行计划生成,索引选择
5.执行器 操作引擎,返回结果

存储引擎层:

名词 解释
存储引擎 存储数据,提供读写接口

存储引擎负责数据的存储和读取。其架构模式是插件式的,支持InnoDB、MyISAM、Memory等多个存储引擎。MySQL5.5后默认引擎是InnoDB。所有存储引擎共用Server层。

连接器

第一步,你会先连接上这个数据库,这时候接待你的是连接器。连接器负责跟客户端建立连接、获取权限、维持和管理连接。

1
mysql -h$ip -P$port -u$user -p

登录失败,收到”Access denied for user“;
一个用户连接成功后,即使你的管理员账号对这个用户的权限做了修改,也不会影响已经存在连接的权限,修改完成,新建连接权限将生效。

客户端如果太长时间没动静,连接器会自动断开,这个参数由”wait_timeout“控制的,默认八小时。如果断开连接,客户端再次发送请求,报:”lost connection to mysql server during query”,只能重连。