深入理解MySQL5.7数据目录结构
作者:coder_szc
本文主要简单介绍一下MySQL数据文件目录的物理结构和作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
以CentOS7为例,数据目录为/var/lib/mysql/
,其内容如下:
[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
数据库为例,其中内容如下:
[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
保存其对应的触发器信息。
到此这篇关于深入理解MySQL5.7数据目录结构的文章就介绍到这了,更多相关MySQL5.7目录结构内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!