Mysql 学习(六)Mysql的数据目录

news2024/10/7 8:29:08

数据库中数据的存放

  • Mysql中 InnoDB 和 MyISAM 这样的存储引擎都是把数据存储到磁盘上的,而我们把这种存放到磁盘上的东西叫做文件系统,当我们想读取对应数据的时候,就会把数据从文件系统上加载,并且处理返回给我们,当我们要写入的时候,也是写入到这个文件系统
  • 下面我们提一个概念,就是数据目录,这个目录不是安装目录,这是存放数据的目录
  • 我们如何找到数据目录呢?
    • 使用这个语句:SHOW VARIABLES LIKE 'datadir',就可以找到对应下的数据目录
      在这里插入图片描述

数据目录的结构

  • 首先我们先来创建一个数据:Create DataBase test_sys
    在这里插入图片描述
  • 猜测一下,文件系统此时会有怎么样的变化?
  • 答案 :
    • 会在上面数据目录下创建一个子文件,这个文件名就是数据库的名字
      在这里插入图片描述
    • 并且还会在这个目录下创建一个 .opt 文件,这个文件包含了数据库的各种属性
      在这里插入图片描述

表 在文件系统中的存储

  • 表的存储其实可分为两个部分:
    • 表的结构
    • 表的数据

表的结构

  • 表的结构就是表的相关信息,比如 名称,列名,列的数据类型,约束条件和索引,使用什么字符集等等。
  • 在文件系统上的表示,就是会创建一个 表名.frm 的文件,这个文件是二进制格式存储的,所以打开会乱码,就比如上节 创建的 person 表
    在这里插入图片描述

表的数据

  • 表的数据在文件系统的存储,这个就需要分引擎了

InnoDB存储表数据

  • InnoDB 其实是使用页为基本单位来存放数据的,而页渔业之间是通过双向链表来维护的,而这些页可以通过B+树来加快查询。
  • InnoDB 的设计就提出一种概念 ,表空间或者文件空间,意思就是 表空间 这个抽象的概念 对应 文件系统上一个或多个真实文件。
  • 而这种表空间又有很多类型:
    • 系统表空间
    • 独立表空间
    • 通用表空间
    • UNDO表空间
    • 临时表空间
  • 接下来我们重点讨论 系统表空间 和 独立表空间
  • 如何使用系统表空间还是独立表空间,这个是根据启动配置里的配置决定:
    • 当innodb_file_per_table的值为0时,代表使用系统表空间
    • 当innodb_file_per_table的值为1时,代表使用独立表空间
[server]
innodb_file_per_table=0
  • 如果想修改已经存在系统表空间中的表转移到独立表空间,可以使用下面的语法:ALTER TABLE 表名 TABLESPACE [=] innodb_file_per_table;
系统表空间
  • 系统表空间 是 整个服务器的数据在文件系统上的表示,默认情况下,InnoDB在数据目录下创建的一个名为 ibdata1 的文件,大小为12M,并且整个文件是自扩展文件,相当于会自己增加文件大小
    在这里插入图片描述
  • 如果想改默认值,可以在文件启动配置里面配置:
[server]
innodb_data_file_path=文件名:大小autoextend;
  • 在mysql服务器中,系统表空间只有一份
独立表空间
  • 在mysql 5.6.6 之后,InnoDB 不会把默认把各个表的数据存储到系统表空间中,而是为每个表都创建一个独立表空间。
  • 具体表现方式是 ,在对应数据库子文件夹下,创建一个 表名.ibd 的文件
    在这里插入图片描述
  • 这个文件就是存储 表中的数据和索引

MyISAM存储表数据

  • 因为MyISAM 的索引全部都是二级索引,所以这个引擎存储 索引和数据是分开的,在文件系统中也是通过不同的文件来存储的,具体如下:
    在这里插入图片描述
  • 其中test.MYD代表表的数据文件,也就是我们插入的用户记录;test.MYI代表表的索引文件,我们为该表创建的索引都会放到这个文件中。

视图 在文件系统中的存储

  • mysql的视图其实是一个虚拟的表,就是某个查询语句的别名,所以存储视图只需要存储他的结构,在文件系统中只会存储一个 视图名.frm的文件

文件体统对于数据库的影响

  • 因为mysql数据都是存储到文件系统中的,所以肯定会受到文件系统的相关影响,比如:
    • 数据库名称和表名称不得超过文件系统所允许的最大长度。
    • 特殊字符的问题
    • 文件长度受文件系统最大长度限制

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/443323.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

每日学术速递4.19

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Visual Instruction Tuning 标题:可视化指令调优 作者:Haotian Liu, Chunyuan Li, Qingyang Wu, Yong Jae Lee 文章链接:https://arxiv.org/ab…

Midjourney:一步一步教你如何使用 AI 绘画 MJ

一步一步如何使用 Midjourney 教程:教学怎么用 MJ? 一、Midjourney(MJ)是什么? Midjourney是一款使用文字描述来生成高质量图像的AI绘画工具。这篇文章主要介绍了Midjourney及其用途,并针对Midjourney的使…

python 定时任务执行命令行

1.使用场景: 定时执行jmeter脚本,通过python定时器隔一段时间执行命令行命令。 2.库: os、datetime、threading (1)利用threading.Timer()定时器实现定时任务 Timer方法说明Timer(interval, function, argsNone, k…

如何利用python实现TURF分析?

1.TRUF分析简介 TURF分析(Total Unduplicated Reach and Frequency)是累计净到达率和频次分析的简称。最初被应用于媒介研究领域。典型应用场景是,在既定条件下,例如预算等资源限制或就当前实施的媒体组合投放计划,哪些渠道组合能让广告投放…

【三十天精通Vue 3】第十二天 Vue 3 过滤器详解

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: 三十天精通 Vue 3 文章目录 引言一、Vue 3 过滤器概述1.1 过滤器的简介1.2 过滤器的作用1.3 过…

WEB通用漏洞水平垂直越权详解业务逻辑访问控制脆弱验证

目录 一、知识点概述 <分类> <原理简述> 二、水平越权示例——检测数据比对弱 <越权演示> <如何防护> 三、垂直越权示例——权限操作无验证 <越权演示> <漏洞成因> 四、访问控制示例——代码未引用验证 <越权演示> 五、脆…

如何才能写出一个符合预期的正则?

如何才能写出一个符合预期的正则&#xff1f; 正则表达式入门示例讲解1、java里正则表达式replaceAll连续的字符正则测试题主问题讲解 2、开发者遇到金额的校验正则描述正则测试 3、java正则表达式匹配字符串正则描述正则测试 4、关于#正则表达式#的问题&#xff0c;如何解决&a…

0基础自学软件测试 用这个方法 99%的人都成功了

对于大多数0基础的小白而言&#xff0c;刚开始学软件测试&#xff0c;肯定会遇到各种各样的难题&#xff0c;有时候问题多了&#xff0c;扛不住了&#xff0c;导致最后无法坚持&#xff0c;或者学的很杂&#xff0c;学而不精。 那么有哪些比较有效的方法和技巧&#xff0c;可以…

系统分析师之数据库系统(七)

目录 一、数据库概念 1.1 数据库管理系统DBMS 1.2 数据库系统DBS 二、数据库设计 2.1 数据库设计过程 2.2 E-R模型 2.3 关系代数 2.4 规范化理论 2.4.1 价值与用途 2.4.2 函数依赖 2.4.3 键 2.4.4 范式 2.4.5 无损分解 三、并发控制 3.1 基本概念 3.2 问题示例…

SCA技术进阶系列(二):代码同源检测技术在供应链安全治理中的应用

一、直击痛点&#xff1a;为什么需要同源检测 随着“数字中国”建设的不断提速&#xff0c;企业在数字化转型的创新实践中不断加大对开源技术的应用&#xff0c;引入开源组件完成应用需求开发已经成为了大多数研发工程师开发软件代码的主要手段。随之而来的一个痛点问题是&…

开启数字化之旅:VR全景视频带你进入真实而神奇的世界

引言&#xff1a;随着科技的不断发展&#xff0c;虚拟现实技术正在成为越来越多人所追捧和体验的技术。而VR全景视频作为虚拟现实技术的一种重要应用&#xff0c;也得到了越来越多人的关注。那么&#xff0c;VR全景视频到底是什么&#xff1f;它的优势和特点是什么&#xff1f;…

OpenGL入门教程之 变化颜色的三角形

一、 知识点 &#xff08;1&#xff09;着色器 着色器(Shader)是运行在GPU上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说&#xff0c;着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序&#xff0c;因为它们之间不能相互通…

153. 寻找旋转排序数组中的最小值

已知一个长度为 n 的数组&#xff0c;预先按照升序排列&#xff0c;经由 1 到 n 次 旋转 后&#xff0c;得到输入数组。例如&#xff0c;原数组 nums [0,1,2,4,5,6,7] 在变化后可能得到&#xff1a; 若旋转 4 次&#xff0c;则可以得到 [4,5,6,7,0,1,2] 若旋转 7 次&#xff0…

【刷题】搜索——BFS:字串变换【双向广搜模板】

双向广搜是BFS的一种优化方式&#xff0c;就是起点和终点同时往中间搜索。 假设每搜一步&#xff0c;都会有6种新的状态进入队列&#xff0c;搜索10步才能得到答案&#xff0c;总状态数是 1 6 6 2 6 3 . . . 6 9 166^26^3...6^9 166263...69。 但是假如已知终点的状态&am…

Crash分析gpu非法访问地址问题

Crash分析gpu非法访问地址问题 1. 问题描述 在我司产品monkey老化过程中&#xff0c;极低概率出现gpu驱动访问非法地址导致kernel panic问题&#xff0c;在kernel panic后&#xff0c;主动触发ramdump机制&#xff0c;抓到相关的ramdump文件&#xff0c;利用crash工具进行离线…

ggrcs包2.9版本发布----增加了绘制单独rcs曲线(限制立方样条)的singlercs函数

目前本人写的ggrcs包新的2.8版本已经在CRAN上线&#xff0c;目前支持逻辑回归&#xff08;logistic回归&#xff09;、cox回归和多元线性回归。增加了绘制单独rcs曲线&#xff08;限制立方样条&#xff09;的singlercs函数。 需要的可以使用代码安装 install.packages("…

UE4/5多人游戏详解(五、创建多人游戏插件)

目录 创建插件&#xff1a; 功能制作&#xff1a; 基础构造&#xff1a; 代码&#xff1a; 准备&#xff1a; 代码&#xff1a; 之前4个内容&#xff0c;我简单的讲解了一个项目中如何加入多人会话。 现在我们做一个插件&#xff0c;这样就不需要每一次创建项目的时候就…

CT前瞻(二):Vant4实战之Card卡片与Cell单元格

文章目录 &#x1f4cb;前言&#x1f3af;关于 Card卡片 和 Cell单元格 组件&#x1f9e9;Cell单元格&#x1f9e9;Card卡片 &#x1f3af;实战代码&#x1f4dd;最后 &#x1f4cb;前言 最近在项目开发和学习的过程中&#xff0c;涉及到了Vant UI&#xff08;简称Vant&#x…

气传导耳机和骨传导耳机的区别是啥?气传导耳机有哪些优缺点?

本文主要讲解一下气传导耳机和骨传导耳机的区别、气传导耳机的优缺点&#xff0c;并推荐一些目前主流的气传导耳机款式&#xff0c;大家可以根据自身需求&#xff0c;选择自己感兴趣的部分观看。 气传导耳机和骨传导耳机不同点&#xff1a; 气传导耳机和骨传导耳机最大且最根…

HTML+CSS+JS 学习笔记(二)———CSS

&#x1f331;博客主页&#xff1a;大寄一场. &#x1f331;系列专栏&#xff1a;前端 &#x1f331;往期回顾&#xff1a;HTMLCSSJS 学习笔记&#xff08;一&#xff09;———HTML(上) HTMLCSSJS 学习笔记&#xff08;一&#xff09;———HTML(中) HTMLCSSJS 学习笔记&#…