MySQL物理文件组成

一、日志文件

1、错误文件
默认以hostname.err命名

2、二进制日志文件
mysql-bin.000005

3、慢查询日志
mysqldb01-slow.log

4、mysql-bin.index文件
(binary log index)的功能是记录所有Binary Log的绝对路径,保证MySQL各种线程能够顺利的根据它找到所有需要的Binary Log文件

二、数据文件
在MySQL中每一个数据库都会在定义好(或者默认)的数据目录下存在一个以数据库名字命名的文件夹,用来存放该数据库中各种表数据文件

1、“.frm”文件
与表相关的元数据(meta)信息都存放在“.frm”文件中,包括表结构的定义信息等
不论是什么存储引擎,每一个表都会有一个以表名命名的“.frm”文件。所有的“.frm”文件都存放在所属数据库的文件夹下面

2、“.MYD”文件(已不用)
“.MYD”文件是 MyISAM 存储引擎专用,存放MyISAM表的数据

3、“.MYI”文件(已不用)
“.MYI”文件也是专属于MyISAM存储引擎的,主要存放MyISAM表的索引相关信息

4、“.ibd”文件
独享表空间存储方式使用“.ibd”文件来存放数据,且每个表一个“.ibd”文件
如果选用共享存储表空间来存放数据,则会使用ibdata文件来存放,所有表共同使用一个(或者多个,可自行配置)ibdata文件

三、主从复制文件

1、relay log文件
mysql-relay-bin.xxxxxn文件用于存放Slave端的I/O线程从Master端所读取到的Binary Log信息,然后由Slave端的SQL线程从该relay log中读取并解析相应的日志信息,转化成Master所执行的SQL语句,然后在Slave端应用
mysqldb02-relay-bin-c1.000002

2、relay log index文件
mysql-relay-bin.index文件的功能类似于mysql-bin.index,同样是记录日志的存放位置的绝对路径,只不过他所记录的不是Binary Log,而是Relay Log

四、其他文件

1、ib_buffer_pool文件
MySQL缓存池文件

2、ibdata1文件
共享表空间文件

3、ib_logfile0文件
是事务日志文件,有多个,循环使用

4、system config file文件
默认放在/etc/my.cnf

5、pid file文件
pid file是mysqld应用程序在Unix/Linux环境下的一个进程文件,和许多其他Unix/Linux服务端程序一样,存放着自己的进程id