MySQL体系结构:分为连接模型、服务器构成、逻辑结构、物理结构、实例、存储底层结构(段|区|快);
客户端和服务端CS模型,有以下两种连接方式:TCP/IP 、Socket
mysql的逻辑对象:作为管理员或者开发人员操作的对象
库(database,schema)                        Linux中的目录
库名,库属性                                     目录名,属性
表(table)                                linux中的文件
表名字,列(列名字,列属性),表属性,表数据             文件名,属性,数据行
库:
    库连可以包含多张表
表:
    二维表
    列结构:列名字+列定义(约束)
    数据行
元数据和真实数据行:
    元数据:列+其他的一些属性(行数+占用空间大小+权限)
            列:列名+数据类型+其他约束(非空、唯一、逐渐、非负数、自增长、默认值
补充说明:
## 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是两个文件存一张表
******************************************************************************
MySQL数据库挂了系统 = 实例 + 数据
实例 = mysqld后台守护进程 + master thread(主线程) + write thread(工作线程)
 页:(page ==16k) mysql存储最小分配单元
 区:一个或多个连续的也构成(解决页分配不连续的问题)
 段:多个区构成,我们可以把一张表(非分区表)认为是一个段
原文:https://www.cnblogs.com/l75790/p/12837639.html