MySQL-目录结构

1.mysql8的主要目录结构

  1. mysql数据库文件的存放路径:/var/lib/mysql

创建的数据库就是存放在这里

1
2
3
4
5
6
mysql> create table tb_user1(
-> id int(11),
-> name varchar(20),
-> age int(11)
-> );

在test数据库中创建一个tb_user1表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
total 188884
-rw-r----- 1 mysql mysql 56 Mar 22 08:39 auto.cnf
-rw-r----- 1 mysql mysql 478 Mar 22 09:13 binlog.000001
-rw-r----- 1 mysql mysql 1817 Mar 22 16:15 binlog.000002
-rw-r----- 1 mysql mysql 32 Mar 22 09:13 binlog.index
-rw------- 1 mysql mysql 1680 Mar 22 08:39 ca-key.pem
-rw-r--r-- 1 mysql mysql 1112 Mar 22 08:39 ca.pem
-rw-r--r-- 1 mysql mysql 1112 Mar 22 08:39 client-cert.pem
-rw------- 1 mysql mysql 1676 Mar 22 08:39 client-key.pem
-rw-r----- 1 mysql mysql 196608 Mar 22 16:17 #ib_16384_0.dblwr
-rw-r----- 1 mysql mysql 8585216 Mar 22 08:39 #ib_16384_1.dblwr
-rw-r----- 1 mysql mysql 5944 Mar 22 08:39 ib_buffer_pool
-rw-r----- 1 mysql mysql 12582912 Mar 22 16:15 ibdata1
-rw-r----- 1 mysql mysql 50331648 Mar 22 16:17 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Mar 22 08:39 ib_logfile1
-rw-r----- 1 mysql mysql 12582912 Mar 22 09:13 ibtmp1
drwxr-x--- 2 mysql mysql 4096 Mar 22 09:13 #innodb_temp
drwxr-x--- 2 mysql mysql 4096 Mar 22 08:39 mysql
-rw-r----- 1 mysql mysql 25165824 Mar 22 16:15 mysql.ibd
srwxrwxrwx 1 mysql mysql 0 Mar 22 09:13 mysql.sock
-rw------- 1 mysql mysql 4 Mar 22 09:13 mysql.sock.lock
drwxr-x--- 2 mysql mysql 4096 Mar 22 08:39 performance_schema
-rw------- 1 mysql mysql 1676 Mar 22 08:39 private_key.pem
-rw-r--r-- 1 mysql mysql 452 Mar 22 08:39 public_key.pem
-rw-r--r-- 1 mysql mysql 1112 Mar 22 08:39 server-cert.pem
-rw------- 1 mysql mysql 1680 Mar 22 08:39 server-key.pem
drwxr-x--- 2 mysql mysql 4096 Mar 22 08:39 sys
drwxr-x--- 2 mysql mysql 4096 Mar 22 16:15 test //这是我刚刚创建的test数据库
-rw-r----- 1 mysql mysql 16777216 Mar 22 16:15 undo_001
-rw-r----- 1 mysql mysql 16777216 Mar 22 16:17 undo_002
  1. 相关命令目录

/usr/bin/usr/sbin

  1. 配置文件目录

/usr/share/mysql-8.0/etc/mysql下的my.cnf

2.表在文件系统中的表示

现在数据库test中有一表tb_user1

cd test

2.1 InnoDB存储引擎模式

如果表采用InnoDB的模式

在mysql5.7中test文件夹中有:

  • tb_user1.frm:表述表结构文件,字段长度
  • 如果采用系统表空间模式,数据信息和索引信息都存储在ibdata1中(在/var/lib/mysql中)
  • 如果采用独立表空间存储模式,test文件夹中还会产生tb_user1.ibd文件,来存储数据信息和索引信息
  • 唯一一个db.opt保存数据库相关配置信息,如字符集,比较规则

在mysql8.0中test文件夹中:

  • tb_user1.ibd文件,mysl5.7中的tb_user1.frm已经合并到.ibd文件中了
  • 如果采用系统表空间模式,数据信息和索引信息都存储在ibdata1中(在/var/lib/mysql中)
  • 如果采用独立表空间存储模式,test文件夹中还会产生tb_user1.ibd文件,来存储数据信息和索引信息

不过8.0都是采用的独立表空间

1
2
3
4
[root@iz2zeip0loevltpebhi0txz mysql]# cd test
[root@iz2zeip0loevltpebhi0txz test]# ll
total 112
-rw-r----- 1 mysql mysql 114688 Mar 22 16:15 tb_user1.ibd

2.2 MyISAM存储引擎模式

对于一个表,test中会产生3个文件:

  • mysql5.7中:tb_user1.frm 描述表结构文件,字段长度

    mysql8.0中:tb_user1.xxx.sdi 描述表结构文件,字段长度

  • tb_user1.MYD(data):数据文件信息,存储数据信息

  • tb_user1.MYI(index):存放索引信息文件

tb_user3使用的是MyISAM

1
2
3
4
5
6
7
[root@iz2zeip0loevltpebhi0txz test]# ll
total 232
-rw-r----- 1 mysql mysql 114688 Mar 22 16:15 tb_user1.ibd
-rw-r----- 1 mysql mysql 114688 Mar 22 20:48 tb_user2.ibd
-rw-r----- 1 mysql mysql 1632 Mar 23 09:30 tb_user3_364.sdi
-rw-r----- 1 mysql mysql 0 Mar 23 09:30 tb_user3.MYD
-rw-r----- 1 mysql mysql 1024 Mar 23 09:30 tb_user3.MYI

MySQL-目录结构
https://vickkkyz.fun/2022/03/24/计算机/mysql/目录结构/
作者
Vickkkyz
发布于
2022年3月24日
许可协议