探究MySQL各类文件

栏目: 数据库 · 发布时间: 4年前

内容简介:前两篇我们了解到MySQL的整体架构,其分为了四层,包括网络连接层,核心层,存储引擎层,物理层,以及各层的作用。另外还知道了InnoDB存储引擎层的架构,包括缓存池和线程。不明白的,请移步上两篇哦。今天我们来看构成MySQL数据库和InnoDB存储引擎表的各类文件。告诉MySQL实例启动时在哪里可以找到数据库文件,以及指定某些初始化参数,如某种内存结构的大小设置。

前言

前两篇我们了解到 MySQL 的整体架构,其分为了四层,包括网络连接层,核心层,存储引擎层,物理层,以及各层的作用。另外还知道了InnoDB存储引擎层的架构,包括缓存池和线程。

不明白的,请移步上两篇哦。今天我们来看构成MySQL数据库和InnoDB存储引擎表的各类文件。

参数文件

告诉MySQL实例启动时在哪里可以找到数据库文件,以及指定某些初始化参数,如某种内存结构的大小设置。

那上面是参数呢?简单来说,可以把数据库参数看成一个键值对(key/value),比如innodb_buffer_pool_size=1G。那这些键值对都存放在哪里了呢?答案揭晓,my.ini里面存储了大量键值对(key/value),且位于MySQL的安装目录,如下图。

探究MySQL各类文件

我们打开这个文件看一下,里面都是键值对的形式。如果我们想要修改某个值,直接在这边修改,并且重启即可。

探究MySQL各类文件

日志文件

用来记录MySQL实例对某种条件做出响应时写入的文件,包括如下四种。

错误日志

记录MySQL的启动,运行和关闭中的错误信息。我们先来看一下文件存储的位置。

探究MySQL各类文件

我们去相应路径下查看该文件,可以发现出错信息。所以当MySQL数据库不能正常启动的时候,第一个必须查找的文件就是错误日志文件。

探究MySQL各类文件

二进制日志

记录对MySQL数据库进行更改的所有操作,但是不包括select和show这类操作,因为这类操作对数据本身没有影响。然而,如果是update或delete这种操作,即使对数据库没有造成影响,那么也会被记录到二进制日志中。

这段是不是特别拗口,不咋能理解,没事,我们实际操作下。

首先二进制日志文件在默认情况下并没有启动,需要手动指定参数来启动。这是不是就意味着开启这个选项会对数据库的整体性能有影响?但是根据MySQL官方手册中的测试表明,开启二进制日志会使性能下降1%,是可接受的范围。

是否下降1%,这个数字我们也无从考证,但是要晓得一点,就是会有影响,但问题不大。毕竟要在每次insert,delete,update操作后,记录日志,这肯定是要时间和空间的损耗的。

那么开始表演吧。

首先,我们先开启二进制配置,上面参数文件有说过my.ini里面存储的各种配置信息的键值对,只需要在该文件里面添加log-bin,指定了log的名称为主机名-bin,后缀为序列号,所在的路径为数据库所在的路径。

接着,重启服务器,步骤如下,重启之后,我们可以看到相应的文件。

探究MySQL各类文件

探究MySQL各类文件

探究MySQL各类文件

最后,在准备工作好了之后,我们先来查询test2的数据,然后看一下那两个文件的大小有没有变化,很明显大小还是跟之前的一样。

探究MySQL各类文件

探究MySQL各类文件

再来写一个update语句,我们可以看到影响的行数为0,但是那两个文件的大小有增加了。

探究MySQL各类文件

探究MySQL各类文件

InnoDB的存储引擎文件

表空间

InnoDB将存储的数据按表空间进行存放。在默认配置中会有一个初始大小为10MB,名为ibdata1的文件,其为所有表的表空间。当然也可以通过innodb_file_per_table设置每个表一个独立的表空间,命名规则为.ibd。是否很熟悉?没错,这就是我们上篇说到的innodb表存储在硬盘的文件之一。

探究MySQL各类文件

重做日志文件

如果断电时,InnoDB会通过重做日志来恢复到断电前的状态,保证数据的完整性。

每个InnoDB存储引擎至少有一个重做日志组group,和两个文件ib_logfile0和ib_logfile1。

他们两个大小一样,并且以循环写入的方式运行,即先写重做日志1,等到写满时,会切换到重做日志2,等到日志2写满时,再次切换到重做日志1。

探究MySQL各类文件

结束

码字不易,请多多关注哦。

探究MySQL各类文件


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

TED Talks Storytelling: 23 Storytelling Techniques from the Best

TED Talks Storytelling: 23 Storytelling Techniques from the Best

Akash Karia / CreateSpace Independent Publishing Platform / 2015-1-11 / USD 6.99

"Every speaker can put these ideas into practice immediately -- and they should!" ~ Dr. Richard C. Harris, Certified World Class Speaking Coach "An insightful read" ~Dennis Waller, Top 500 Revie......一起来看看 《TED Talks Storytelling: 23 Storytelling Techniques from the Best》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试