Mysql数据库和InnoDB存储引擎中各种类型文件介绍

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

  • 参数文件
  • 日志文件
  • socket文件
  • pid文件
  • MySQL表结构文件
  • 存储引擎文件

参数文件:

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

查看所有参数的命令:SHOW VARIABLES ,可以通过LiKE来过滤参数名:SHOW VARIABLES LIKE’innodb_buffer%’;

日志文件:

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

  • 慢查询日志:运行时间超过阈值的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次数。

  • 查询日志:记录所有对MySQL数据库请求的信息,可以在general_log表中查询。

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

套接字文件:

在UNIX系统下本地连接MySQL可以采用套接字方式,这种方式需要一个套接字文件。一般位于/tmp下,名为mysql.socket。

pid文件:

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

表结构定义文件:

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

InnoDB存储引擎文件:

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

猜你喜欢

转载自blog.csdn.net/qqqq0199181/article/details/80690980