欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

《mysql是怎样运行的》读书笔记一

程序员文章站 2022-07-11 11:42:09
...

在下载MySQL源码并安装之后

一、启动MySQL服务器程序

  1. unix系统中,
    1.1 mysqldmysqls_safe,mysqld.server,mysqld_multi,
    mysqls_safe会间接的调用mysqld,mysqld.server会间接调用mysqls_safe
  2. windows系统中,
    2.1 手动启动在MySQL安装目录的bin目录下的Mysqld可执行文件。
    2.2 注册为windows服务,启动Mysql服务器程序。

二.启动MySQL客户端程序
通过bin目录下的可执行文件mysql,可以与服务器程序交互,在启动这个程序的时候,需要一些参数:

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

-p和密码值之间不能有空白字符(其他参数名和参数值之间可以有参数)

客户端与服务器

  1. MySQL采用TCP作为服务器端和客户端的之间的网络通信协议,采用的是TCP/IP协议,进程间通信使用的IP地址+端口号MySQL服务器在启动时会默认申请3306端口号。
  2. 每当一个客服端程序连接到服务器程序时,服务器进程就会专门创建一个线程来处理与这个客服端交互。当客户端与服务器端断开连接时,服务器并不会立即销毁这个线程,而是将这个线程缓存起来,当新的客户端进行连接时,再将这个线程分配给客户端。
  3. MySQL会把刚处理过的查询请求缓存起来,这个查询请求可以在不同的客户端之间共享,如果请求中包含某些系统函数,函数,系统表,这个请求就不会被缓存,比如now();每次查询到的时间肯定是不一样的,所以不会被缓存的。若该表的结构或者数据被改变时,则与该表的缓存的都将被变成无效并从查询中删除。
  4. 存储引擎主要负责在物理上表示数据,怎么样存取数据,以及怎么把数据写到具体的物理存储器上,存储引擎是负责对表中的数据进行读取和写入工作的,我们可以为不同的表设置不同的存储引擎,不同的存储引擎管理的表可能有不同的存储结构,不同的读取和写入方式。
  5. 人们把MySQL服务器处理请求过程简单的划分成server层和存储引擎层,不涉及真实数据存取的功能为server层,存取真实数据的部分划分为存储引擎层,存储引擎层为server层提供统一的调用接口,其中包含了几十个不同 的用途的底层函数。srever层和存储引擎层交互是以记录为单位的。
  6. InnoDBMySQL5.5.5版本开始作为MySQL的默认引擎,之前默认的版本是MyISAM。表的存储引擎是可以修改的。
相关标签: 笔记