第 1 章 装作自己是个小白——重新认识 MySQL

1.1 MySQL 的客户端/服务器架构

日常运用 MySQL 的情形:

  1. 发动 MySQL 服务器程序。
  2. 发动 MySQL 客户端程序并衔接到服务器程序。
  3. 在客户端程序中输入一些指令句子作为恳求发送到服务器程序,服务器程序收到这些恳求后,会根据恳求的内容来操作详细的数据并向客户端返回操作成果。

1.2 MySQL 的安装

1.2.1 bin 目录下的可执行文件

1.3 发动 MySQL 服务器程序

1.4 发动 MySQL 客户端程序

1.5 客户端与服务器衔接的过程

1.5.1 TCP/IP

在网络环境下,每台计算机都有一个仅有的 IP 地址,假如某个进程有需求采用 TCP 协议进行网络通讯方面的需求,能够向操作体系申请一个端口号,它的取值范围是0~65535。这样在网络中的其他进程就能够经过 IP 地址 + 端口号的方法来与这个进程衔接,这样进程之间就能够经过网络进行通讯了。

1.5.2 命名管道和同享内存

命名管道和同享内存是 Windows 操作体系中的两种进程间通讯方法。

1.5.3 UNIX 域套接字

1.6 服务器处理客户端恳求

MySQL 是怎样运行的:从根上理解 MySQL——第 1 章

1.6.1 衔接管理

MySQL 服务器会为每一个衔接进来的客户端分配一个线程,可是线程分配的太多了会严重影响体系功能,所以咱们也需求约束一下能够一起衔接到服务器的客户端数量。

1.6.2 解析与优化

16.2.1 查询缓存

MySQL 服务器程序会把刚刚处理过的查询恳求和成果缓存起来,假如下一次有如出一辙的恳求过来,直接从缓存中查找成果。

MySQL 的缓存体系会监测涉及到的每张表,只需该表的结构或许数据被修改了,那运用该表的所有高速缓存查询都将变为无效并从高速缓存中删去。

小贴士

从 MySQL 5.7.20 开端,不引荐运用查询缓存,并在 MySQL 8.0 中删去。

16.2.2 语法解析

由于客户端程序发送过来的恳求仅仅一段文本罢了,所以 MySQL 服务器程序首先要对这段文本做解析。

16.2.3 查询优化

MySQL 的优化程序会对咱们的句子做一些优化,咱们能够运用 EXPLAIN 句子来查看某个句子的执行计划。

1.6.3 存储引擎

MySQL 服务器把数据的存储和提取操作都封装到了一个叫存储引擎的模块。

1.7 常用存储引擎

MySQL 是怎样运行的:从根上理解 MySQL——第 1 章

MySQL 是怎样运行的:从根上理解 MySQL——第 1 章

1.8 关于存储引擎的一些操作

1.8.1 查看当前服务器程序支撑的存储引擎

SHOW ENGINES;

MySQL 是怎样运行的:从根上理解 MySQL——第 1 章

1.8.2 设置表的存储引擎

咱们能够为不同的表设置不同的存储引擎。

1.8.2.1 创立表时指定存储引擎
CREATE TABLE engine_demo_table ( i INT ) ENGINE = MyISAM;
1.8.2.2 修改表的存储引擎
ALTER TABLE engine_demo_table ENGINE = INNODB;