Mysql数据库和InnoDB存储引擎中有各类不一样类型的文件,这些文件在mysql中起着相当重要的做用,了解他们的功能对学习mysql的原理有很大的帮助。mysql

参数文件

日志文件

socket文件

pid文件

MySQL表结构文件

存储引擎文件

参数文件:

MySQL实例启动时会读取参数文件,根据文件中的参数来进行初始化

查看全部参数的命令:SHOW VARIABLES ,能够经过LiKE来过滤参数名:SHOW VARIABLES LIKE’innodb_buffer%’;

日志文件:

错误日志:对MySQL的启动、运行、关闭过程进行了记录,该文件不只记录了全部的错误信息,也记录了一些警告信息或正确信息。排查问题是可首先看错误日志。经过SHOW VARIABLES LIKE’log_error’来定位错误日志的路径,默认文件名为主机名.err。 web

慢查询日志:运行时间超过阈值的SQL语句将会被记录到慢查询日志中,DBA能够根据慢查询日志来优化sql语句。时间阈值可经过修改long_query_time来设置,默认10秒。MySQL5.1以后慢查询日志能够在表slow_log中查询。除了设置long_query_time根据运行时间将sql记录到slow_log,还支持根据逻辑IO次数将sql记录到slow_log,用long_query_io控制。slow_query_type用来控制启用slow log的方式:0:不将sql记录到slow log;1:根据运行时间;2:根据逻辑IO次数;3:根据运行时间和逻辑IO次数。sql

查询日志:记录全部对MySQL数据库请求的信息,能够在general_log表中查询。数据库

二进制日志:记录全部对MySQL数据库执行更改的全部操做,可是不包括SELECT和SHOW这类操做,由于它们没有修改数据库。二进制日志可用于恢复、复制数据库。二进制日志文件格式为二进制,须要用MySQL提供的工具mysqlbinlog查看。socket

套接字文件:

在UNIX系统下本地链接MySQL能够采用套接字方式,这种方式须要一个套接字文件。通常位于/tmp下,名为mysql.socket。svg

pid文件:

用于记录mysql实例的进程ID,默认名为主机名.pid。工具

表结构定义文件:

mysql中每张表都会有一个.frm文件记录其表结构定义。.frm文件还用于记录视图的定义学习

InnoDB存储引擎文件:

它是InnoDB独有的文件,包括:重作日志、表空间文件。表空间文件存储表空间定义。重作日志记录了对于InnoDB存储引擎的事物日志。当数据库因为主机掉电致使实例失败时,InnoDB存储引擎会用重作日志恢复到掉电前的时刻,来保证数据的完整性。优化