3-文件
2019-03-21 本文已影响0人
加夕
- 参数文件:告诉MySQL实例启动时在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还会介绍各种参数的类型。
- 日志文件:用了记录MySQL实例对某种条件做出响应时写入的文件,如错误日志文件、二进制日志文件、慢查询日志文件、查询日志文件等。
- socket文件:当用UNIX域套接字方式进行连接时需要的文件。
- pid文件:MySQL实例的进程ID文件。
- MySQL表结构文件:用来存放MySQL表结构定义文件。
- 存储引擎文件:因为MySQL表存储引擎的关系,每个存储引擎都会有自己的文件来保存各种数据。这些存储引擎真正存储了记录和索引等数据。
1.日志文件
- 错误日志:对MySQL的启动、运行、关闭过程进行了记录。该文件不仅记录了所有的错误信息,也记录一些警告信息或正确的信息。
- 慢查询日志:设置log_slow_queries为on后,开启慢查询日志,当查询时间超过阈值(long_query_time来设置,默认10,代表10s)的所有SQL语句都记录到慢查询日志文件中。MySQL 5.1开始,可以将慢查询的日志记录放入一张表中,在mysql架构下,名为 slow_log。
- 查询日志:记录了所有对MySQL数据库请求的信息,无论这些请求是否得到了正确的执行。默认文件名:主机名.log。MySQL 5.1开始,可以将查询日志的记录放入mysql架构下的general_log表中。
- 二进制日志:记录了对MySQL数据库执行更改的所有操作,不包括select和show这类操作。(未完)
2.表结构定义文件
每个表都会有与之对应的文件,不论表采用何种存储引擎,MySQL都有一个以frm为后缀名的文件,这个文件记录了该表的表结构定义。frm还用来存放视图的定义。
3.存储引擎文件
-
表空间文件
默认配置下会有一个初始大小为10MB(在运行中会增大),名为ibdata1的文件,该文件就是默认的表空间文件,可通过参数innodb_data_file_path对其进行设置。
-
重做日志文件
默认情况下,在InnoDB存储引擎的数据目录下会有两个名为ib_logfile0和ib_logfile1的文件。官方称为存储引擎的日志文件,这里称为重做日志文件。它们记录了对应InnoDB存储引擎的事务日志。
为了帮助事务的ACID中的持久性,必须将innodb_flush_log_at_trx_commit设置为1,也就是每当有事务提交时,就必须确保事务都已经写入重做日志文件。那么当数据库因为意外发生宕机时,可以通过洪作日志文件恢复,并保证可以恢复已提交的事务。