当前位置: 首页 > news >正文

MySQL的数据目录

文章目录

  • MySQL的数据目录
    • 1. MYSQL目录结构
    • 2. 数据库与文件系统的关系
      • 2.1 查看默认数据库
      • 2.2 数据库在文件系统中的表示
        • 2.1.1 MyISAM存储引擎模式
        • 2.1.2 InnoDB存储引擎模式
      • 2.3 视图在文件系统中的表示
      • 2.4 小结

MySQL的数据目录

1. MYSQL目录结构

  • 查询主要目录结构:find / -name mysql

    在这里插入图片描述

  • 进入数据目录:cd /var/lib/mysql/
    在这里插入图片描述
    查看那个文件夹存放数据目录: show variables like 'datadir';
    在这里插入图片描述

  • 相关命令目录cd /usr/bin(mysqladmin、mysqlbinlog、mysqldump等命令)和/usr/sbin。
    在这里插入图片描述

  • 配置文件目录:/usr/share/mysql-8.0(命令及配置文件),/etc/mysql(如my.cnf)在这里插入图片描述

2. 数据库与文件系统的关系

2.1 查看默认数据库

  • 查看默认数据库:SHOW DATABASES;,可以看到有4个数据库是属于MySQL自带的系统数据库。
    在这里插入图片描述
    • mysql

      MySQL 系统自带的核心数据库。它存储了MySQL的 用户账户和权限信息,一些存储过程事件的定义信息,一些运行过程中产生的日志信息,一些帮助信息以及时区信息等。

    • information_schema

      保存着MySQL服务器 维护的所有其他数据库的信息
      比如有哪些表、哪些视图、哪些触发器、哪些列、哪些索引。这些信息并不是真实的用户数据,而是一些描述性信息,有时候也称之为 元数据 。在系统数据库 information_schema 中提供了一些以innodb_sys 开头的表,用于表示内部系统表。

    • performance_schema
      MySQL 系统自带的数据库,这个数据库里主要保存MySQL服务器运行过程中的一些状态信息,可以用来 监控 MySQL 服务的各类性能指标 。包括统计最近执行了哪些语句,在执行过程的每个阶段都花费了多长时间,内存的使用情况等信息。

    • sys
      MySQL 系统自带的数据库,这个数据库主要是通过 视图 的形式把 information_schema 和performance_schema 结合起来,帮助系统管理员和开发人员监控 MySQL 的技术性能。

2.2 数据库在文件系统中的表示

  • 看一下我的计算机上的数据目录下的内容: cd /var/lib/mysql
    在这里插入图片描述
    这个数据目录下的文件和子目录比较多,除了 information_schema 这个系统数据库外,其他的数据库在 数据目录 下都有对应的子目录。

以创建的 emp1数据库为例,在MySQL8.0 中打开:(emp1表中创建了test表)

2.1.1 MyISAM存储引擎模式

使用MyISAM引擎建表:会产生三个文件:我这里安装的mysql8.0,在mysql8.0中使用MyISAM建表:

	CREATE TABLE `student_myisam` (`id` bigint NOT NULL AUTO_INCREMENT,`name` varchar(64) DEFAULT NULL,`age` int DEFAULT NULL,`sex` varchar(2) DEFAULT NULL,PRIMARY KEY (`id`))ENGINE=MYISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb3
  • mysql5.0中表明.frm存放表结构,字段长度等

    mysql8.0中.sdi文件:描述表结构文件,字段长度等。注意mysql8.0中没有了.frm文件

  • .MYD存放表数据数据信息文件,存储数据信息(如果采用独立表存储模式)

  • .MYI存放表索引信息文件
    在这里插入图片描述

2.1.2 InnoDB存储引擎模式
  • 使用InnoDB建表:会产生1个或者2个文件:

    CREATE DATABASE emp1;USE emp1;CREATE TABLE `test` (`id` bigint NOT NULL AUTO_INCREMENT,`name` varchar(64) DEFAULT NULL,`age` int DEFAULT NULL,`sex` varchar(2) DEFAULT NULL,PRIMARY KEY (`id`)
    )
    
  • 表.frm存放表结构,字段长度等

  • 如果采用 系统表空间 模式的,数据信息和索引信息都存储在 ibdata1在这里插入图片描述

  • 如果采用 独立表空间 存储模式,还会产生 .ibd 文件(存储数据信息和索引信息

  • ①MySQL5.7 中会在data/a的目录下生成 db.opt 文件用于保存数据库的相关配置。 比如:字符集、比较规则。而MySQL8.0不再提供db.opt文件。

  • ② MySQL8.0中不再单独提供b.frm,而是合并在b.ibd文件中

    在这里插入图片描述

    • 在mysql8.0中,.frm文件不见了,表结构和表空间存储到ibd文件的目录下,mysql8自带解析ibd文件,可以使用ibd2sdi工具查看:ibd2sdi --dump-file=test.txt test.ibd在这里插入图片描述
      使用vim ./test.txt可以查看表结构,表结构存储在此
      在这里插入图片描述
      在这里插入图片描述

2.3 视图在文件系统中的表示

MYSQL中的 视图是虚拟的表,也就是某个查询语句的别名,所以在存储视图的时候不需要存储真实数据只需要把它的存储结构存储起来

和表一样,描述视图的文件也会被存储到所属数据库对应的子目录下边,只会存储一个视图名.frm的文件。如下图中的emp_details_view.frm

在这里插入图片描述

2.4 小结

MYSQL5.0之前默认使用MyISAM引擎,之后默认使用InnoDB引擎

对于数据库a , 表b :

  1. 如果表b采用 InnoDB ,data\a中会产生1个或者2个文件

    b.frm :描述表结构文件,字段长度
    如果采用 系统表空间 模式的,数据信息和索引信息都存储在 ibdata1
    如果采用 独立表空间 存储模式data\a中还会产生 b.ibd 文件存储数据信息和索引信息

    此外:
    MySQL5.7 中会在data/a的目录下生成 db.opt 文件用于保存数据库的相关配置。比如:字符集、比较 规则。而MySQL8.0不再提供db.opt文件。
    MySQL8.0不再单独提供b.frm,而是合并在b.ibd文件中

  2. 如果表b采用 MyISAM ,data\a中会产生3个文件:

    MySQL5.7 中: b.frm :描述表结构文件,字段长度等。
    MySQL8.0b.xxx.sdi :描述表结构文件,字段长度
    b.MYD (MYData):数据信息文件,存储数据信息(如果采用独立表存储模式)
    b.MYI (MYIndex)存放索引信息文件

视图在文件系统中的表示,只在.frm文件中存储表结构,不存储真实数据

相关文章:

MySQL的数据目录

文章目录 MySQL的数据目录1. MYSQL目录结构2. 数据库与文件系统的关系2.1 查看默认数据库2.2 数据库在文件系统中的表示2.1.1 MyISAM存储引擎模式2.1.2 InnoDB存储引擎模式 2.3 视图在文件系统中的表示2.4 小结 MySQL的数据目录 1. MYSQL目录结构 查询主要目录结构&#xff1a…...

详解MySQL索引+面试题

前言: 📕作者简介:热爱编程的小七,致力于C、Java、Python等多编程语言,热爱编程和长板的运动少年! 📘相关专栏Java基础语法,JavaEE初阶,数据库,数据结构和算法系列等,大家有兴趣的可以看一看。 😇😇😇有兴趣的话关注博主一起学习,一起进步吧! 一、索引概述…...

设计模式:桥接器模式(C++实现)

桥接器模式(Bridge Pattern)是一种结构设计模式,它将抽象部分与实现部分分离,使它们可以独立地变化。桥接器模式通常用于需要在多个维度上扩展和变化的情况下,将抽象和实现解耦。 以下是一个简单的C桥接器模式的示例&a…...

公网远程访问GeoServe Web管理界面【内网穿透】

文章目录 前言1.安装GeoServer2. windows 安装 cpolar3. 创建公网访问地址4. 公网访问Geo Servcer服务5. 固定公网HTTP地址 前言 GeoServer是OGC Web服务器规范的J2EE实现,利用GeoServer可以方便地发布地图数据,允许用户对要素数据进行更新、删除、插入…...

AIMS医院手术麻醉信息系统全套源码,自主版权,开箱即用

手术麻醉临床信息系统有着完善的临床业务功能,能够涵盖整个围术期的工作,能够采集、汇总、存储、处理、展现所有的临床诊疗资料。通过该系统的实施,能够规范麻醉科的工作流程,实现麻醉手术过程的信息数字化,自动生成麻…...

中秋特辑——3D动态礼盒贺卡(可监听鼠标移动)

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…...

Json文件序列化读取

Json文件 [{"name":"清华大学","location":"北京","grade":"1"},{"name":"北京大学","location":"北京","grade":"2"} ] 安装包 代码 Program.c…...

ClickHouse(15)ClickHouse合并树MergeTree家族表引擎之GraphiteMergeTree详细解析

GraphiteMergeTree该引擎用来对Graphite数据(图数据)进行瘦身及汇总。对于想使用ClickHouse来存储Graphite数据的开发者来说可能有用。 如果不需要对Graphite数据做汇总,那么可以使用任意的ClickHouse表引擎;但若需要,那就采用GraphiteMerge…...

面试题库(二):Java基础

hashmap1.7跟1.8?优化点?红黑树化为什么是8?退化为什么?dp怎么玩?回溯怎么玩?递归怎么玩?stack能解决啥问题?fifo能解决啥问题?dfs怎么玩?bfs怎么玩?双亲委派模型。JDBC和双亲委派模型关系TCP四次挥手,TIME_WAIT发生在哪一方 TIME_WAIT过多如何处理HashMap底层结构…...

Linux:无法接收组播数据

1、检查Linux系统是否接收到组播数据 使用tcpdump工具,检查源或者目的地址(例如,239.1.1.1:9001)的数据包 tcpdump -i ens33 host 239.1.1.1 port 9001 2、关闭防火墙 临时关闭: systemctl stop firewalld service ip…...

R语言贝叶斯非参数模型:密度估计、非参数化随机效应META分析心肌梗死数据...

全文链接:http://tecdat.cn/?p23785 最近,我们使用贝叶斯非参数(BNP)混合模型进行马尔科夫链蒙特卡洛(MCMC)推断(点击文末“阅读原文”获取完整代码数据)。 概述 相关视频 在这篇文…...

在gazebo仿真环境中加载多个机器人

文章目录 前言一、基本概念1、xacro2、Gazebo 加载单个机器人模型 二、原先launch文件代码三、 修改launch文件加载多个机器人总结 前言 单个机器人的各项仿真实验都基本完成,也实现了远程控制,接下来主要对多机器人编队进行仿真实验,在进行…...

少有人走的路阅读笔记

前言 仅记录学习笔记,如有错误欢迎指正。 感受: 刚看完这本书,因为是很多天碎片化的时间看的,所以肯定对最新的内容印象较为深刻;作者是一个心理医生,从他的视角讲述了常人应该怎么样让自己的心灵心智更加…...

极简解析!IP计费的s5爬虫IP

大家好!今天我将为大家分享关于s5爬虫IP服务的知识。对于经常做爬虫的小伙伴来说,需要大量的爬虫IP支持爬虫业务,那么对于选择什么样的爬虫IP,我想我有很多发言权。 下面我们一起了解下IP计费的s5爬虫IP的知识,废话不…...

动静分离和前后端分离

动静分离和前后端分离 一、动静分离 侧重单体项目的静态资源分离 二、前后端分离 前后端完全分离...

【SpringBoot】集成SpringSecurity+JWT实现多服务单点登录,原来这么easy

Spring BootSpring SecurityJWT实现单点登录 源码 链接:https://pan.baidu.com/s/1EINPwP4or0Nuj8BOEPsIyw 提取码:kbue 一.概念 1.1.SSO 介绍: 单点登录(SingleSignOn,SSO),当用户在身份认证服务器上登录一次以…...

手把手教你使用PLSQL远程连接Oracle数据库【内网穿透】

文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射 3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程Oracle 前言 Oracle,是甲骨文公司的一款关系…...

浅谈Deep Learning 与 Machine Learning 与Artificial Intelligence

文章目录 三者的联系与区别 三者的联系与区别 “Deep Learning is a kind of Machine Learning, and Machine Learning is a kind of Artificial Intelligence.” 人工智能(AI),机器学习(Machine Learning,简称ML&am…...

和 Node.js 说拜拜,Deno零配置解决方案

不知道大家注意没有,在我们启动各种类型的 Node repo 时,root 目录很快就会被配置文件塞满。例如,在最新版本的 Next.js 中,我们就有 next.config.js、eslintrc.json、tsconfig.json 和 package.json。而在样式那边,还…...

AxureRP制作静态站点发布互联网,实现公网访问【内网穿透】

AxureRP制作静态站点发布互联网,内网穿透实现公网访问 文章目录 AxureRP制作静态站点发布互联网,内网穿透实现公网访问前言1.在AxureRP中生成HTML文件2.配置IIS服务3.添加防火墙安全策略4.使用cpolar内网穿透实现公网访问4.1 登录cpolar web ui管理界面4…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage)&#xff1a…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...