1.1MySQL总览
- 采用
C/S
架构,用户通过客户端程序发送增删查改请求,服务器程序收到请求后处理,并把处理结果返回给客户端。 - MySQL安装目录的bin目录下存放着两类可执行文件:服务器程序(例如
mysqld
、mysql_safe
),客户端程序(例如mysql
、mysqladmin
)
1.2MySQL启动
服务端的启动
以类unix系统为例
|
|
客户端的启动
|
|
一般更建议采用非显式输入密码
|
|
客户端和服务端的三种连接方式
TCP/IP
MySQL词采用TCP
作为服务i其和客户端之间的网络通信协议。MySQL服务器默认监听3306
端口,也可以在启动MySQL服务器的时候指定端口:
|
|
命名管道和共享内存
适合在Windows使用。
使用共享内存进行通信的服务器进程和客户端进程必须位于同一台Windows主机中。
UNIX域套接字
适合类服务器进程和客户端进程都运行在同一台类UNIX系统机器上。
1.3SQL的执行过程
- 连接器处理连接
- 查询缓存看是否命中
- 分析器分析语法
- 优化器生成执行计划(可以使用
EXPLAIN
语句来查看某个语句的执行计划) - 执行器调用存储引擎的API执行,返回执行结果到客户端(存储引擎提供数据
存储
和提取
API)
存储引擎
存储引擎是表级别的,不同存储引擎管理的表可能有不同的数据结构,采用的存取算法也不同。
常用的存储引擎有
InnoDB
(支持事务,行级锁,外键),MyISAM
(主要的非事务处理存储引擎),MEMORY
(数据只存在内存,不存储在磁盘,多用于临时表)等。存储引擎的
查看
和设置
语句