转载部分

第二章 MySQL体系结构和管理

2019-08-05  本文已影响0人  学Linux的小子

1.MySQL C/S模型

Server(服务端): mysqld
Client(客户端):
socket:仅本地连接使用
tcp/ip :应用连接使用
TCP\IP方式(远程、本地):
mysql -uroot -p123 -h 10.0.0.51 -P3306
Socket方式(仅本地):
mysql -uroot -p123 -S /tmp/mysql.sock

2.实例

mysqld ----->master thread ------->干活的线程+育分配的内存结构
boss 经理 员工 办公室

3.mysqld的程序结构

3.1MySQL的专用管理和操作命令SQL

DDL 数据定义语言
DCL 数据控制语音
DML 数据操作语言
DQL 数据查询语言

3.2 SQL语句的执行过程

select user,host from mysql.user;
(1) mysql -uroot -pxxx

3.2.1 连接层

(1)提供连接协议

sokcet
TCP\IP

(2)验证user password host port(端口号)
(3)提供连接线程
show processlist;


测试

功能:接受SQL语句,返回结果

3.2.2 SQL层

(1)语法检查和SQL_MODE检查
(2) 语义检查和权限检查
(3) 解析预处理,生成解析树(执行计划树)
(4)优化会根据自带算法,评估最优的方案(代价模型算法)
代价:cpu io mem
(5) 选择最优的方案进行执行SQL
(6) 提供查询缓存(默认是没有开启的),会使用redis tair替代查询缓存功能
(7) 提供日志记录(日志管理章节):binlog默认是没开启的。

3.2.3 存储引擎层

相当于文件系统,将数据取出,再交给SQL层结构化成表,返回给用户。

上一篇 下一篇

猜你喜欢

热点阅读