第三章 文件

mysql中一共有六种文件类型 :参数文件、日志文件、socket文件、pid文件、MySQL表结构文件、存储引擎文件

3.1参数文件

以文本的方式进行存储,用户可进行修改。参数:一个键值对。类型:静态和动态。静态文件为只读状态,只有动态文件可以进行修改。

对变量的值修改只在这次实例中有效,下次启动时mysql实例还是会从参数文件中读取。

3.2日志文件

包括:错误日志、二进制日志、慢查询日志、查询日志,

错误日志:对mysql的启动运行关闭过程进行记录

使用时遇到问题应该首先查看该文件以便快速定位问题。或者优化数据库的信息。

慢查询日志:帮助DBA定位可能出现问题的sql语句,进行sql语句层面的优化。默认情况下不启动慢查询日志,可手动设置: log_slow_queries 的value=on.慢查询日志汇聚成slow_log 表。

查询日志:记录查询。

二进制日志:记录对数据库执行更改的所有操作(不包括 select和show)。

可进行 :恢复,复制,审计。开启这个选项会使性能下降1%,性价比高。

有一个cash_size记录缓冲区的大小,未提交的二进制日志记录到缓冲区中,当提交时再正式写入二进制日志中。

3.3 套接字文件

unix系统下本地连接mysql的配置文件。

3.4 pid文件

存储进程id。

3.5 表结构定义文件

后缀名为: frm,用来存放视图的定义

3.6 存储引擎文件

6.1 表空间文件

用户可以通过多个文件组成一个表空间,共享/独立,同时制定文件的属性。通过这样的设置,用户不用将所有的数据都放在默认表空间中。

6.2重做日志文件

非常重要!当实例或介质失败时,InnoDB会使用重做日志恢复到掉电前的状态,保证数据的完整性。

重做日志与二进制日志的差别:

mysqldata文件夹有哪些数据 mysql中的数据文件有几种_慢查询

重做日志的写入过程:

先写入重做日志缓冲,然后按一定的条件顺序写入日志文件。每当有事务提交时,都必须保证事务已经写入重做日志中。