1.1MySQL总览

  • 采用C/S架构,用户通过客户端程序发送增删查改请求,服务器程序收到请求后处理,并把处理结果返回给客户端。
  • MySQL安装目录的bin目录下存放着两类可执行文件:服务器程序(例如mysqldmysql_safe),客户端程序(例如mysqlmysqladmin

1.2MySQL启动

服务端的启动

以类unix系统为例

1
mysql.server start/stop

客户端的启动

1
mysql -h主机名 -u用户名 -p密码 

一般更建议采用非显式输入密码

1
mysql -h主机名 -u用户名 -p

客户端和服务端的三种连接方式

TCP/IP

MySQL词采用TCP作为服务i其和客户端之间的网络通信协议。MySQL服务器默认监听3306端口,也可以在启动MySQL服务器的时候指定端口:

1
mysqld -P3307

命名管道和共享内存

适合在Windows使用。

使用共享内存进行通信的服务器进程和客户端进程必须位于同一台Windows主机中。

UNIX域套接字

适合类服务器进程和客户端进程都运行在同一台类UNIX系统机器上。

1.3SQL的执行过程

  1. 连接器处理连接
  2. 查询缓存看是否命中
  3. 分析器分析语法
  4. 优化器生成执行计划(可以使用EXPLAIN语句来查看某个语句的执行计划)
  5. 执行器调用存储引擎的API执行,返回执行结果到客户端(存储引擎提供数据存储提取API)

存储引擎

  • 存储引擎是表级别的,不同存储引擎管理的表可能有不同的数据结构,采用的存取算法也不同。

  • 常用的存储引擎有InnoDB(支持事务,行级锁,外键),MyISAM(主要的非事务处理存储引擎),MEMORY(数据只存在内存,不存储在磁盘,多用于临时表)等。

  • 存储引擎的查看设置语句