二、MySQL的数据目录

文章目录

  • [1. MySQL8的主要目录结构](#1. MySQL8的主要目录结构)
    • [1.1 数据库文件的存放路径](#1.1 数据库文件的存放路径)
    • [1.2 相关命令目录](#1.2 相关命令目录)
    • [1.3 配置文件目录](#1.3 配置文件目录)
  • [2. 数据库和文件系统的关系](#2. 数据库和文件系统的关系)
    • [2.1 查看默认数据库](#2.1 查看默认数据库)
    • [2.2 数据库在文件系统中的表示](#2.2 数据库在文件系统中的表示)
    • [2.3 表在文件系统中的表示](#2.3 表在文件系统中的表示)
      • [2.3.1 InnoDB存储引擎模式](#2.3.1 InnoDB存储引擎模式)
      • [2.3.2 MyISAM存储引擎模式](#2.3.2 MyISAM存储引擎模式)
    • [2.4 小结](#2.4 小结)

1. MySQL8的主要目录结构

sql 复制代码
[root@atguigu01 ~]# find / -name mysql

安装好MySQL 8之后,我们查看如下的目录结构:

1.1 数据库文件的存放路径

1.2 相关命令目录

1.3 配置文件目录

配置文件目录:/usr/share/mysql-8.0(命令及配置文件),/etc/mysql(如my.cnf)

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

InnoDBMyISAM这样的存储引擎都是把表存储在磁盘上的,操作系统用来管理磁盘的结构被称为文件系统,所以用专业一点的话来表述就是:向 InnoDBMyISAM 这样的存储引擎都是把 表存储在文件系统上 的。当我们想读取数据的时候,这些存储引擎会从文件系统中吧数据读出来返回给我们,当我们想写入数据的时候,这些存储引擎会把这些数据又写回文件系统。本章学习一下 InnoDBMyISAM 这两个存储引擎的数据如何在文件系统中存储。

2.1 查看默认数据库

查看一下在我的计算机上当前有哪些数据库:

sql 复制代码
mysql> SHOW DATABASES;

可以看到有4个数据库是属于MySQL自带的系统数据库。

  • mysql

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

  • information_schema

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

  • performance_schema

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

  • sys

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

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

看一下我的计算机上的数据目录下的内容:

在MySQL8.0中打开:

2.3 表在文件系统中的表示

2.3.1 InnoDB存储引擎模式

  • 注意:在MySQL8.0中,仅存在 .ibd 文件,其包含了表结构数据信息

2.3.2 MyISAM存储引擎模式

2.4 小结

相关推荐
嵌入式小能手3 分钟前
Linux C接口编程入门之文件I/O
linux·c语言
丶21363 分钟前
【SQL】深入探索SQL调优:提升数据库性能的全面指南
数据库·sql·性能优化
盒马盒马4 分钟前
Redis:分布式 - 哨兵
数据库·redis·分布式
好好学习的人4 分钟前
SQL第15课——插入数据
数据库·sql·oracle
程思扬7 分钟前
用ChatGPT做数据分析与挖掘,爽!
运维·经验分享·docker·chatgpt·数据挖掘·数据分析·前端框架
技术拾光者16 分钟前
Redis 排行榜:实现、操作与性能优化
数据库·redis
傻啦嘿哟27 分钟前
SQLAlchemy入门:详细介绍SQLAlchemy的安装、配置及基本使用方法
数据库·oracle
别NULL27 分钟前
毕业设计项目——基于RISC-V的标签化跨层调度应用任务管理(论文/代码)
linux·课程设计·risc-v
4647的码农历程30 分钟前
Linux网络编程 -- 网络套接字预备与udp
linux·服务器·网络
微服务技术分享35 分钟前
工程项目管理系统源码与Spring Cloud:实现高效系统管理与二次开发
数据库·spring cloud·工程项目管理系统源码