1、参数文件

  1. mysql实例启动的时候数据库会去读取一个配置参数文件 去寻找数据库的各种文件所在的位置以及指定某些初始化参数,例如mysql内存结构大小等 可以通过mysql--help | grep my.cf 来进行查找

2、日志文件

1、错误日志 :对mysql 的启动 运行 关闭 过程进行记录 可以通过show variables like ‘log_error’来定位文件
2、二进制日志:(bin log)记录了mysql数据库执行更改的所有操作,但是不包含select 和 show 这类操作,主要作用是 恢复 复制(主从复制)审计 (判断是否有对数据库进行注入攻击)。通过配置参数log-bin [=name] 可以启动二进制文件默认不启动该日志的,参数max_binlog_size制定了单个二进制文件的最大值 如果超过这个数值则产生新二进制文件,当使用事物的表存储引擎如innoDB时候如果未提交事务的二进制日志会被记录到一个缓存中 等该事务提交时直接将缓存中的二进制日志写入到二进制文件,该缓存默认大小为32k,参数binlog_cache_size可以设置缓存的大小 该参数时基于会话的 当一个线程开始一个事务时 mysql会自动分配一个大小为binlog_cache_size的缓存
3、慢查询日志: 可以在mysql启动的时候设置一个阀值,将运行时间超过该值的sql进行记录到慢查询日志文件中,该阀值可以通过参数long_query_time来设置,默认10代表10秒。数据库默认没有启动慢日志需要手动进行设置为ON
4、查询日志:包含了对mysql 数据库请求信息 无论是否得到了正确的执行。默认文件名称为主机名.log

3、socket文件

Unix系统下本地来凝结Mysql可以使用域套接字的方式进行连接 这种方式需要一个套接字(socket)文件,套接字文件可以由参数socket参数控制 ,一般在/tmp目录下,名称为mysql.sock

4、pid文件

当mysql实例启动的时候,会将自己的进程id写入到一个文件中,该文件就是pid文件该文件可以由参数pid_file控制。默认位于数据库目录下,文件名称为主机名.pid

5、mysql表结构文件

mysql插件式存储引擎的体系结构的关系,mysql数据的存储时根据表进行的 每个表都会由值对应的文件 不论表采用什么存储引擎,mysql都有一个以frm为后缀的文件 这个文件记录了表的结构定义;该文件也可以存放视图 如果创建了v_a试图 那么就会有一个v_a.frm文件 该文件是一个文本形式的文件可以直接被查看

6、存储引擎文件

每个表的存储引擎都有自己独有的文件其中包含了 日志文件 表空间文件
1、日志文件(重做日志文件 redo log file)他主要记录了对InnoDB存储引擎的事务日志 当实例失败 例如数据库由于所在主机掉电导致实例失败 InnoDB存储引擎会使用重做日志恢复到掉电以前的时刻用来保护数据的完整性。每个innoDB下至少由一个文件组 一个文件组下至少会有两个重做日志 将不同的文件组放到不同的磁盘下一次提高重做日志的高可用
image.png