zoukankan      html  css  js  c++  java
  • 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存储最小分配单元
     区:一个或多个连续的也构成(解决页分配不连续的问题)
     段:多个区构成,我们可以把一张表(非分区表)认为是一个段
  • 相关阅读:
    20200416_Centos 7.2 在安装系统之前把数据备份出来
    20200322_【转载】关于C#中使用SQLite自适应Any CPU程序的说明
    20200315_python3.6去除标点符号
    性能测试,负载测试,压力测试有什么区别
    app安全测试(转载)
    postman的使用
    安全测试
    MySQL SELECT陈述式范例
    软件测试环境
    性能测试报告
  • 原文地址:https://www.cnblogs.com/l75790/p/12837639.html
Copyright © 2011-2022 走看看