一.文件总体概述
InnoDb文件主要有以下文件
1. 参数文件:启动需要的各种参数作
2. 日志文件:记录mysql实例某种条件做出的响应而写入的文件,如错误日志、二进制日志、慢查询日志、查询日志等
3. Socket文件:连接需要的文件
4. Pid文件:实例进程文件
5. 表结构文件:用来存放mysql表结构的文件
6. 存储引擎文件:存储数据、索引等数据的文件
那么接下来分别对这些文件进行详细的介绍。
二.文件的详细介绍
2.1 参数文件
参数文件是mysql在初始化的过程中,需要的启动的参数,通常已配置文件的方式加载,在conf下有以下my.conf的文件,做为参数文件的入口,如果已经安装mysql,那么可以用mysql的命令查询参数文件的位置:mysql --help|grep my.conf。如果不存在此参数文件,mysql启动并不会报错,仍然会正常的启动,那么配置采用代码中的默认配置
Mysql的参数非常的多,可以通过:show variables;查看所有的参数,如果知道要查询的参数,则可以使用show variables like ‘参数名称’;来查询。
参数分为两种参数:(1)动态参数,(2)静态参数。动态参数可以在mysql运行的过程中进行更改, 静态参数在运行的过程中不能更改,就好像只读参数一样。可以通过set修改动态参数,主要的是有些参数只有全局修改,有些参数只能在session范围内修改,这是两个作用域。如 set read_buffer_size = 10000,如果是修改全局:则采用set @@global.read_buffer_size = 10000。
2.2 日志文件
日志文件是mysql在处理活动过程中的各种记录,常见的的日志文件有:(1)错误日志,(2)二进制日志,(3)慢查询日志,(4)查询日志。日志文件帮助我们更好的优化数据库。
错误日志是对mysql启动、运行、关闭等所报出的错误记录,如果mysql出现宕机等异常情况,需要通过错误日志来排查问题, show variables like ‘log_error’找到错误日志的位置
慢查询日志可以帮助我们找到存在问题的sql语句,以便有针对性的优化
查询日志记录了所有对数据库请求的信息,如果是否正确的执行
二进制日志记录了对数据库的更改操作,这对数据的跟踪有很大的帮助作用,可以查看数据变化的来源
2.3 套接字文件
Mysql的连接文件通常在/tmp目录下,名为mysql.sock, 可以通过show variables like ‘socket’;查看socket连接的文件位置。
2.4 pid文件
Mysql将自己进程的id写入到这个文件中,通常这个文件在data目录下, 可以通过show variables like ‘pid_file’; 查看进程id。
2.5 表结构文件
Mysql的存储数据的表结构的定义存储与.frm文件中, 这个目录在data/{schema}/*.frm;这些文件就是表结构的定义文件, 每一个表一个文件, 与库中建立的表一致, 注意视图也是一个frm文件。
2.6 引擎文件之表空间文件
在data目录中,有一些.ibd文件,这些就是表空间文件,innodb采用表空间存储,可以指定一个或者几个文件, 也可以采用每一个表一个表空间, 默认是10M, 可以设置其大小, 如果用完,采用自动增长的方式。表数据、索引、缓冲位于单独表空间文件中。
2.7 引擎文件之重做日志文件
记录了InnoDB存储引擎的日志, 至关重要