学习资源来自《mysql是怎样运行的》
1.1 mysql的客户端/服务端架构
mysql的服务器程序直接与要存储的数据打交道,多个客户端程序可以连接到这个服务端程序,向服务器发送增删改查的请求,然后服务器程序根据这些请求,对存储的数据进行相应处理。
1.2 服务器启动程序
- mysqld 可以注解启动mysql服务器进程,但不常用。
- mysqld_safe 会调用那个mysqld并监控服务器的运行状态(错误时输出日志以及帮助重启)。
- mysql.server 会调用mysqld_safe,可以通过mysql.server start启动以及mysql.server stop关闭。
- mysqld_multi 可以启动或停止多个服务器实例进程。
1.3 客户端启动程序
mysql -h 主机名 -u 用户名 -p密码
1.3 服务器处理客户短端请求
上图可以看出,服务器程序处理客户端查询请求时,大致需要3部分:连接管理、解析与优化、存储引擎。
1.4 连接管理
负责连接的建立与信息的认证。
1.5 解析与优化
主要进行查询缓存、语法解析、查询优化。
1.6 存储引擎
主要负责读取和写入底层表中的数据。我们常用的是InnoDB与MISAM引擎。
创建表时指定存储引擎:
CREATE TABLE 表名 (
建表语句;
) ENGINE = 存储引擎名称;