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

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

  • ibdata1存放的是InnoDB的元数据、变更缓冲区、双写缓冲区和撤销日志。
  • ib_logfile0和ib_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数据结构
数据库·mysql
鱼很腾apoc2 小时前
【MySQL】第4期 用户管理与 C 语言连接编程详解
linux·服务器·c语言·mysql·connector/c
郭萌6963 小时前
多商户平台的分销佣金:为什么同一笔订单,换个时间跑会算出另一个人
mysql·php
库库的数据库笔记3 小时前
金融核心交易系统的数据库国产信创改造该如何做?
大数据·数据库·分布式·mysql·oracle·金融·数据库架构
Linux实战笔记3 小时前
MySQL 索引失效的三种典型场景与 EXPLAIN 分析
mysql·索引失效·explain·执行计划·sql 调优
这个DBA有点耶3 小时前
连接数没满,应用却连不上数据库——TCP backlog溢出与somaxconn的隐藏限制
数据库·mysql·代码规范
小羊没烦恼!4 小时前
C#综合揭秘——Entity Framework 并发处理详解
java·开发语言·前端·javascript·数据库·mysql·c#
flytalei5 小时前
从 Docker Compose 到 K3s:逐浪博客 MySQL 数据迁移实战与一致性验证
mysql·docker·容器
SL_staff6 小时前
3分钟上线新规则:业务人员拖拽完成合同超期自动暂停服务
java·mysql·全栈
CS创新实验室7 小时前
数据库突然断电,凭什么没丢数据?——WAL 日志与崩溃恢复
数据库·mysql