mysql第二天

这篇博客详细介绍了MySQL的配置文件、启动命令与选项组,重点解析了其逻辑架构,包括C/S架构、权限校验、查询解析、优化处理、存储引擎以及插件式存储引擎的工作原理。此外,还概述了SQL执行流程、存储引擎的功能以及索引的重要性和设计原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、配置文件

进入 /etc/my.ini 和my.cnf,配置文件中的启动选项被划分为若干个标签组,组名分别是server、mysqld、mysqld_safe、client、mysql、mysqladmin,以键值对或者bool类型存在。

 

> vim /etc/my.cnf  进入配置文件
> find / -name mysql  #查看数据目录

/var/lib/mysql存放数据目录,/usr/bin/mysql存放相关指令;

1.2启动命令与选项组

3、逻辑架构

典型的C/S架构,即client/server架构,通过主机去访问sql服务器。

3.1逻辑架构解析

服务器处理客户端请求和响应流程;mysql服务器相当于黑盒子

客户端向mysql服务器发送请求,服务器接收请求并进行操作,查找对应的文件,再返回到客户端, 中间就是逻辑架构了,第一部分指权限或者登录密码的校验;第二部分主要是针对查询语句进行解析,生成解析树,然后对sql语句进行优化处理;第三部分是调用存储引擎对文件系统进行查找操作,当然了,不可能是不可能对物理层的文件进行一层层查找,会导致效率太低,会将物理文件加载的磁盘中进行查找-----数据库缓冲池(buffer pool);

基础服务组件;

连接池:提供了多个用于客户端与服务器交互的线程,线程使用完再返回连接池,供其他客户端再次使用。

SQL接口:接收sql指令,返回查询结果。

parser解析器:语法、语义解析,生成语法树,便于查询优化。

优化器:对sql语句进行优化,确定是否需要使用索引,多表连接顺序,外连接是不是可能转化为内连接,包括表达式的更新;(核心组件)物理优化:使用索引,是否需要,用哪一个

查询缓存:以key-value方式缓存查询结果。查询到的文件,可以直接缓存到这,下次直接取出。

插件式的存储引擎:MYISAM,INNODB,NDB等等,可以相互替换。与底层文件系统进行交互,CPU通常是跟内存进行交互的,所以我们是将数据放到内存上的。

文件系统:存储在底层的系统文件,目录是/var/lib/mysql/  语法为>show variables like '%datadir%';

日志:redo,undo,data,index等等日志

mysql服务器逻辑架构说明:连接层--服务层---引擎层----存储层

 

连接池:控制客户端的连接数量

线程池:

 

 如:select name from a inner join  a.id = b.id  where a and b ;是先在a表查询b条件呢还是b表查询a条件,和成本函数有关。

语法树:

2.1 sql执行流程

4、存储引擎

5、索引,创建,设计原则,索引优化与查询优化;

7、变量 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值