mysql文件

1.错误日志文件

默认情况下,错误文件的文件名为服务器的主机名。

 

2.慢查询日志文件

通过long_query_time设置阀值,将运行时间超过该值的所有SQL语句都记录到慢查询日志文件中。默认情况,慢查询日志不启动

log_queries_not_using_indexes:该参数设为ON时,运行的没有使用索引的sql语句也会被记录到慢查询日志文件中。

 

3.查询日志文件

记录所有对数据库的请求,无论是否正确执行。默认文件名:主机名.log。

 

4.二进制文件

记录了对数据库执行更改的所有操作(包括操作时间和执行时间等),select和show这类操作除外。

具体有分储存statement和row的

 

5.套接字文件

本地连接MySQL采用Unix域套接字方式时,需要一个套接字文件。一般在/tmp目录下,名为mysql.sock

 

6.pid文件

MySQL实例启动时,会将自己的进程ID写进pid文件中,有pid_file参数控制,默认路径位于数据库目录下,文件名为主机名.pid

 

7.表结构定义文件

以frm为后缀名,记录该表的表结构定义,包括视图的定义。该文件为文本文件,可直接用cat查看

 

8.InnoDB存储引擎文件

表空间文件、重做日志文件

 

8.1重做日志文件

InnoDB存储引擎存储的数据按表空间进行存放,默认表空间文件名为ibdatal。可通过参数innodb_data_file_path设置

设置innodb_data_file_path参数后,所有基于InnoDB存储引擎的表的数据都会记录到该文件内。

innodb_file_per_table参数:设为ON时,可以为每个基于InnoDB存储引擎的表,单独产生一个表空间,文件名为表名.ibd,这些单独的表空间文件仅存储该表的数据、索引和插入缓冲等信息,其余信息还是存放在默认的表空间中。

InnoDB存储引擎对于文件的存储方式:

 

8.2重做日志文件

默认情况会有两个文件,ib_logfile0和ib_logfile1。

每个InnoDB存储引擎至少有1个重做日志文件组,每个文件组下至少有2个重做日志文件,如默认的ib_logfile0和ib_logfile1。日志组中每个重做日志文件大小相同,循环使用,文件1写满了则使用文件2,文件2写满了则使用文件1。

 

二进制文件和重做日志文件的区别:

二进制文件:1.记录所有与MySQL有关的日志记录,包括InnoDB、MyISAM、Heap等其他存储引擎的日志;

                     2.记录关于一个事务的具体操作内容;

                     3.事务提交前进行记录。

InnoDB重做日志文件:1. 只记录有关InnoDB存储引擎本身的事务日志;

                     2.记录关于每个页(Page)的更改的物理情况;

                     3.事务进行过程中记录。

 

写入重做日志文件的操作不是直接写,而是先写入一个重做日志缓冲(redo log buffer)中,然后按照一定的条件写入日志文件,如下图:

innodb_flush_log_at_trx_commit参数,表示在提交commit操作时,处理重做日志的方式。

0:并不将重做日志写入磁盘上的日志文件,而是等待主线程每秒的刷新

1:commit时将重做日志缓冲同步写到磁盘

2:重做日志异步写到磁盘,即不能完全保证commit时肯定会写入重做日志文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值