MySQL理论基础知识

2019-07-10 分类:MySQL 阅读(27) 评论(0)

1.MySQL结构:C/S结构

client/server

2.MySQL自带的客户端程序

mysql

mysqladmin

mysqldump

3.MySQL的两种连接方式

3.1.TCP/IP连接

mysql -uroot -p -h127.0.0.1

mysql -uroot -p -h127.0.0.1 -S /tpm/mysql.sock

3.2.socket连接

mysql -uroot -p -hlocalhost

mysql -uroot -p123(默认连接方式,socket)

PS:
1.因为使用TCP/IP,需要建立三次握手
2.不一定-h都是tcp,-hlocalhost是socket连接

4.MySQL程序结构

1.什么是实例?

一个进程 + 多个线程 + 预分配内存空间

2.什么是多示例?

多个进程 + 多个线程 + 多个预分配内存空间

5.mysqld的程序结构

1.连接层

1.1.验证用户的合法性
1.2.提供两种连接方式(TCP/IP   socket)
1.3.建立一个与SQL层互交的线程

2.SQL层

2.1.接收连接层传来的SQL语句
2.2.验证语法
2.3.验证语义(DML,DDL,DCL,DQL)检查你输入的SQL语句是 select insert update grant delete...
2.4.解析器:解析你的SQL语句,生成多种执行计划
2.5.优化器:接收解析器传来的多种执行计划,选择最优的一种
2.6.执行器:将优化器选择的最优的SQL,执行

2.6.1.建立一个云存储引擎层 交互的线程
2.6.2.将执行语句交给存储引擎层,取数据,接收存储引擎层,结构化成表的数据结果

2.7.如果你的前端有缓存,写缓存
2.8.纪录日志(binlog)

3.存储引擎层

3.1.接收到SQL层传来的SQL语句
3.2.与磁盘交互,取数据,结构化成表的形式,返回给SQL层
3.3.建立一个与SQL层交互的线程

6.MySQL的物理结构

最底层的数据文件

7.Mysql的逻辑结构


表:元数据+真实数据行
元数据:列+其它属性(行数+占用空间大小+权限)
列:列名字+数据类型+其它约束(非空、唯一、主键、非负数、自增长、默认值)

段:一个段是由多个区组成
区:一个区是由多个页组成
页:在数据库中最小单位,页 16k

您可能也喜欢:

MySQL-SELECT语句详解

在数据库操作语句中,使用最频繁,也被认为最重要的是 SELECT 查询语句,这条语句用于查看一张表中的所有内容,而 SELECT 与各种限制条件关键词搭配使用,具有各种丰富的功能 SELECT 语句基本格式:SELECT 要查询的列名 FROM 表名字 WHERE 限制条件; 如果要查询表...

more

MySQL建表详解

MySQL建表语句 create table fujieace( id int(10) primary key auto_increment comment '设置主键自增', email varchar(20) not null comment '邮箱', name varchar(20...

more

MySQL约束

什么是约束? 约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性 比如,规定一个用户的用户名不能为空值且没有重复的记录,这就是一种约束规则 MySQL中常用的约束: 约束类型: 主键 默认值 唯一 外键 非空 关键字: primary key de...

more

评论&留言
欢迎新朋友你的到来!
还没有人抢沙发呢~
昵称
邮箱
网站

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册