mysql 物理层_MySQL体系结构

MySQL体系结构:分为连接模型、服务器构成、逻辑结构、物理结构、实例、存储底层结构(段|区|快);

#1、连接模型

客户端和服务端CS模型,有以下两种连接方式:TCP/IP  、Socket

#2、逻辑结构(逻辑对象)

mysql的逻辑对象:作为管理员或者开发人员操作的对象

库(database,schema) Linux中的目录

库名,库属性 目录名,属性

表(table) linux中的文件

表名字,列(列名字,列属性),表属性,表数据 文件名,属性,数据行

库:

库连可以包含多张表

表:

二维表

列结构:列名字+列定义(约束)

数据行

元数据和真实数据行:

元数据:列+其他的一些属性(行数+占用空间大小+权限)

列:列名+数据类型+其他约束(非空、唯一、逐渐、非负数、自增长、默认值

#3、物理结构

库: 在盘上就是一个目录

表: 使用多个文件存储表的信息

补充说明:

## mysql的存储引擎是如何把数据存在磁盘上的?

mysql数据最底层的是操作系统上的一个文件

1、对于mysql来讲,最底层(物理层)是数据文件,也是存储引擎层打交道的对象是数据文件

2、存储引擎分为很多种类

和Linux文件系统类型一样,分为很多种类;

对于不同的存储引擎,它的存储机制不一样

3、不同存储引擎区别:

存储方式:导致了安全性、性能的不同

******************************************************************************

举例:

## No1: myisam 存储引擎存储方式(系统默认引擎)

cd /application/mysql/data/mysql/

-rw-rw---- 1 mysql mysql 10684 Nov 5 23:21 user.frm 一部分表结构信息

-rw-rw---- 1 mysql mysql 436 Nov 5 23:21 user.MYD 行记录,真实信息

-rw-rw---- 1 mysql mysql 2048 Nov 5 23:21 user.MYI 索引信息

注:myisam是使用三个文件存一张表

补充说明:二进制文件内容怎么查看: strings 文件名

## No2: innodb 存储引擎存储方式(推荐使用引擎)

进入mysql的test数据库,创建一个oldboy表

mysql

use test;

create table oldboy(id int);

退出数据库,进入下面目录

cd /application/mysql/data/test/

-rw-rw---- 1 mysql mysql 8556 Nov 6 20:56 oldboy.frm

-rw-rw---- 1 mysql mysql 98304 Nov 6 20:56 oldboy.ibd

注:innodb是两个文件存一张表

******************************************************************************

#4、实例

MySQL数据库挂了系统 = 实例 + 数据

实例 = mysqld后台守护进程 + master thread(主线程) + write thread(工作线程)

#5、存储底层结构--段|区|块

页:(page ==16k) mysql存储最小分配单元

区:一个或多个连续的也构成(解决页分配不连续的问题)

段:多个区构成,我们可以把一张表(非分区表)认为是一个段

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值