Chao's Blog Chao's Blog
首页
  • vue

    • vue路由
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • java
  • spring
  • springboot
  • springcloud
  • git
  • maven
  • nginx
  • tomcat
  • springmvc
  • jvm
  • 图数据库
  • mysql数据库
  • redis数据库
  • windows下docker安装nginx并挂载目录
  • linux命令
  • linux安装软件
  • linux脚本
  • idea
  • vscode
  • 归档
  • 综合项目

    • 若依项目
    • mall项目
  • java
  • mybatis
  • xxl-job
  • mybatis
GitHub (opens new window)

~chao

永远菜鸟,不断努力~
首页
  • vue

    • vue路由
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • java
  • spring
  • springboot
  • springcloud
  • git
  • maven
  • nginx
  • tomcat
  • springmvc
  • jvm
  • 图数据库
  • mysql数据库
  • redis数据库
  • windows下docker安装nginx并挂载目录
  • linux命令
  • linux安装软件
  • linux脚本
  • idea
  • vscode
  • 归档
  • 综合项目

    • 若依项目
    • mall项目
  • java
  • mybatis
  • xxl-job
  • mybatis
GitHub (opens new window)
  • cypher图数据

  • mysql数据库

    • mysql尚硅谷宋红康

      • 第00章_写在前面
      • 第01章_数据库概述
      • 第02章_MySQL环境搭建
      • 第03章_基本的SELECT语句
      • 第04章_运算符
      • 第05章_排序与分页
      • 第06章_多表查询
      • 第07章_单行函数
      • 第08章_聚合函数
      • 第09章_子查询
      • 第10章_创建和管理表
      • 第11章_数据处理之增删改
      • 第12章_MySQL数据类型精讲
      • 第13章_约束
      • 第14章_视图
      • 第15章_存储过程与函数
      • 第16章_变量、流程控制与游标
      • 第17章_触发器
      • 第18章_MySQL8其它新特性
      • 第19章【高级篇】MySQL的数据目录
        • MySQL8的主要目录
          • 数据文件的存放目录
          • 命令存放目录
          • 配置文件目录
        • 数据库和文件系统的关系
          • 默认数据库
          • 数据库在文件系统中的表示
          • 表在文件系统中的表示
          • 视图在文件系统中的表示
        • MyISAM和InnoDB存储引擎如何存储表
          • InnoDB存储引擎模式
          • MyISAM存储引擎模式
          • 小结
        • 其他文件
        • 总结
      • 第20章【高级篇】用户、权限、角色管理
      • 第21章【高级篇】MySQL密码管理、配置文件的使用、系统变量
      • 第22章【高级篇】MySQL的逻辑架构
      • 第23章【高级篇】MySQL的存储引擎
      • 第24章【高级篇】索引的数据结构
      • 第25章【高级篇】InnoDB的数据存储结构
      • 第26章【高级篇】索引的创建与删除
      • 第27章【高级篇】索引的设计原则
      • 第28章【高级篇】性能分析工具的使用
      • 第29章【高级篇】索引优化与查询优化
      • 第30章【高级篇】数据库的设计规范
      • 第31章【高级篇】数据库其它调优策略
      • 第32章【高级篇】事务基础知识
      • 第33章【高级篇】MySQL事务日志
      • 第34章【高级篇】锁
      • 第35章【高级篇】多版本并发控制MVCC
      • 第36章【高级篇】其他数据库日志
      • 第37章【高级篇】补充:MyCat
      • 第38章【高级篇】主从复制
      • 第39章【高级篇】数据库备份与恢复
      • 第00章_写在最后
    • 总结

    • mysql数据库备份与恢复

    • mysql日志

    • mysql性能优化

  • redis数据库

  • oracle数据库

  • 数据库
  • mysql数据库
  • mysql尚硅谷宋红康
~chao
2022-12-15
目录

第19章【高级篇】MySQL的数据目录

# 【宋红康 MySQL数据库 】【高级篇】【03】MySQL的数据目录

# MySQL8的主要目录

查看MySQL都使用了哪些目录:

命令:find / -name mysql
1
[root@mysql8_01 ~]# find / -name mysql
/etc/logrotate.d/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql

1
2
3
4
5
6
7

# 数据文件的存放目录

cd /var/lib/mysql
1

/var/lib/mysql这个数据目录下的文件和子目录比较多,除了information_schema这个系统数据库外,其他的数据库在该目录(数据目录)下都有对应的子目录

在这里插入图片描述

mysql> show variables like 'datadir';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.02 sec)

1
2
3
4
5
6
7
8

# 命令存放目录

在这里插入图片描述

# 配置文件目录

  • /usr/share/mysql-8.0(命令及配置文件)
  • /etc/my.cnf

# 数据库和文件系统的关系

在这里插入图片描述

# 默认数据库

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| dbtest01           |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.01 sec)

mysql> 

1
2
3
4
5
6
7
8
9
10
11
12
13
14

可以看到有4个数据库是属于MySQL自带的数据库:mysql、information_schema、performance_schema、sys

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

查看数据目录下的内容:

cd /var/lib/mysql

ll
1
2
3

# 表在文件系统中的表示

在这里插入图片描述

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

在这里插入图片描述

# MyISAM和InnoDB存储引擎如何存储表

# InnoDB存储引擎模式

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

# MyISAM存储引擎模式

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

# 小结

在这里插入图片描述

# 其他文件

后续会讲解

在这里插入图片描述

# 总结

MySQL中主要使用了两个存储引擎:InnoDB、MyISAM
MySQL从5.5开始,默认存储引擎由 MyISAM 改为 InnoDB

  • MySQL5.7版本—InnoDB
    在这里插入图片描述在这里插入图片描述

  • MySQL8.0版本—InnoDB
    在这里插入图片描述在这里插入图片描述
    如何证明表的所有信息都存储在.ibd文件中了?查看.ibd文件的信息:(ibd2sdi --dump-file=随便命名.txt 表名.ibd)

    [root@mysql8_01 ~]# cd /var/lib/mysql/dbtest01
    [root@mysql8_01 dbtest01]# ll
    -rw-r-----. 1 mysql mysql 114688 May 25 17:27 emp01.ibd
    [root@mysql8_01 dbtest01]# ibd2sdi --dump-file=emp01.txt emp01.ibd
    [root@mysql8_01 dbtest01]# ll
    -rw-r-----. 1 mysql mysql 114688 May 25 17:27 emp01.ibd
    -rw-------. 1 root  root   11118 May 30 15:06 emp01.txt
    [root@mysql8_01 dbtest01]# vi emp01.txt
    
    1
    2
    3
    4
    5
    6
    7
    8
  • 首先,在MySQL5.7和MySQL8.0版本中都使用MyISAM引擎新建一张表

    CREATE TABLE `student_myisam` (
    	`id` bigint NOT NULL AUTO_INCREMENT,
    	`name` varchar(64) DEFAULT '',
    	PRIMARY KEY (`id`)
    ) ENGINE=MYISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb3;
    
    1
    2
    3
    4
    5
  • MySQL5.7版本—MyISAM
    在这里插入图片描述

  • MySQL8.0版本—MyISAM
    在这里插入图片描述

编辑 (opens new window)
上次更新: 2024/01/26, 05:03:22
第18章_MySQL8其它新特性
第20章【高级篇】用户、权限、角色管理

← 第18章_MySQL8其它新特性 第20章【高级篇】用户、权限、角色管理→

最近更新
01
python使用生成器读取大文件-500g
09-24
02
Windows环境下 Docker Desktop 安装 Nginx
04-10
03
使用nginx部署多个前端项目(三种方式)
04-10
更多文章>
Theme by Vdoing | Copyright © 2022-2024 chaos | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式