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

在下载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。表的存储引擎是可以修改的。

猜你喜欢

转载自blog.csdn.net/weixin_43213064/article/details/110341833