MySQL5.7数据目录结构

以CentOS7为例,数据目录为/var/lib/mysql/,其内容如下:

sql 复制代码
[root@scentos szc]# ll /var/lib/mysql/
total 122952
-rw-r----- 1 mysql mysql       56 Jan 15 16:02 auto.cnf
-rw------- 1 mysql mysql     1680 Jan 15 16:02 ca-key.pem
-rw-r--r-- 1 mysql mysql     1112 Jan 15 16:02 ca.pem
-rw-r--r-- 1 mysql mysql     1112 Jan 15 16:02 client-cert.pem
-rw------- 1 mysql mysql     1676 Jan 15 16:02 client-key.pem
-rw-r----- 1 mysql mysql      289 Jan 15 16:48 ib_buffer_pool
-rw-r----- 1 mysql mysql 12582912 Jan 15 17:31 ibdata1
-rw-r----- 1 mysql mysql 50331648 Jan 15 17:31 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Jan 15 16:02 ib_logfile1
-rw-r----- 1 mysql mysql 12582912 Jan 15 17:54 ibtmp1
drwxr-x--- 2 mysql mysql     4096 Jan 15 16:02 mysql
srwxrwxrwx 1 mysql mysql        0 Jan 15 16:51 mysql.sock
-rw------- 1 mysql mysql        6 Jan 15 16:51 mysql.sock.lock
drwxr-x--- 2 mysql mysql     8192 Jan 15 16:02 performance_schema
-rw------- 1 mysql mysql     1676 Jan 15 16:02 private_key.pem
-rw-r--r-- 1 mysql mysql      452 Jan 15 16:02 public_key.pem
-rw-r--r-- 1 mysql mysql     1112 Jan 15 16:02 server-cert.pem
-rw------- 1 mysql mysql     1676 Jan 15 16:02 server-key.pem
drwxr-x--- 2 mysql mysql     8192 Jan 15 16:02 sys
drwxr-x--- 2 mysql mysql      207 Jan 15 19:15 test

其中mysqlsys等为数据库,即一个数据库对应的一个目录。

  • ibdata1存放的是InnoDB的元数据、变更缓冲区、双写缓冲区和撤销日志。
  • ib_logfile0ib_logfile1存放普通日志。
  • ib_buffer_pool存放缓存池信息。

test数据库为例,其中内容如下:

sql 复制代码
[root@scentos szc]# ll /var/lib/mysql/test/
total 260
-rw-r----- 1 mysql mysql    61 Jan 15 16:53 db.opt
-rw-r----- 1 mysql mysql  8650 Jan 15 17:28 emp_test.frm
-rw-r----- 1 mysql mysql 98304 Jan 15 17:30 emp_test.ibd
-rw-r----- 1 mysql mysql  8560 Jan 15 16:54 test1.frm
-rw-r----- 1 mysql mysql 98304 Jan 15 16:55 test1.ibd
-rw-r----- 1 mysql mysql   278 Jan 15 19:27 test1.TRG
-rw-r----- 1 mysql mysql  8586 Jan 15 19:10 test_myisam.frm
-rw-r----- 1 mysql mysql     0 Jan 15 19:10 test_myisam.MYD
-rw-r----- 1 mysql mysql  1024 Jan 15 19:10 test_myisam.MYI
-rw-r----- 1 mysql mysql   285 Jan 15 19:28 test_myisam.TRG
-rw-r----- 1 mysql mysql    43 Jan 15 19:28 test_trigger_on_myisam.TRN
-rw-r----- 1 mysql mysql    37 Jan 15 19:27 test_trigger_on_test1.TRN
-rw-r----- 1 mysql mysql   497 Jan 15 19:15 test_view_2.frm
-rw-r----- 1 mysql mysql   399 Jan 15 19:15 test_view.frm

db.opt存放数据库的配置信息。

对于一张InnoDB数据表而言:

  • frm文件存放表结构信息。
    • 若采用默认的独立表空间结构,则使用ibd文件存放表数据信息;
    • 否则就是系统表空间结构,使用ibdata文件存放表数据。
  • TRG文件存放触发器信息;

对于一张myisam表而言:

  • frm文件存放表结构信息;
  • MYD文件存放表数据信息;
  • MYI文件存放表索引信息;
  • TRG文件存放触发器信息;

对于视图而言:仅有frm文件,存放视图结构信息。

对于触发器而言:仅有TRN保存其对应的触发器信息。

相关推荐
程序员小崔日记1 小时前
一篇文章彻底搞懂 MySQL 和 Redis:原理、区别、项目用法全解析(建议收藏)
redis·mysql·项目实战
武子康2 小时前
大数据-241 离线数仓 - 实战:电商核心交易数据模型与 MySQL 源表设计(订单/商品/品类/店铺/支付)
大数据·后端·mysql
用户83071968408221 小时前
MySQL 查询优化 30 条封神技巧:用好索引,少耗资源,查询快到飞起
mysql
Nyarlathotep01131 天前
事务隔离级别
sql·mysql
Nyarlathotep01131 天前
SQL的事务控制
sql·mysql
用户86178277365181 天前
MySQL 8.0从库宕机排查实录:中继日志膨胀引发的连锁故障复盘
mysql
随风飘的云2 天前
mysql的innodb引擎对可重复读做了那些优化,可以避免幻读
mysql
于眠牧北5 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
Turnip12027 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
加号38 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql