美文网首页
存储引擎文件

存储引擎文件

作者: lsh的学习笔记 | 来源:发表于2020-05-02 22:15 被阅读0次

之前的文件都是MySQL数据库本身文件,和存储引擎无关。除了这些文件,每个表存储引擎还有自己独有的文件。包括重做日志文件、表空间文件。

表空间文件

InnoDB采用将存储的数据表空间(tablespace)进行存放的设计。

默认配置下会有一个初始大小为10MB,名为ibdata1的文件。该文件就是默认的表空间文件(tablespace file),用户可以通过参数innodb_data_file_path对其进行设置。用户可以通过多个文件组成一个表空间,同时制定文件的属性。该文件可以自动增长(autoextend)。设置innodb_data_file_path参数后,所有基于InnoDB存储引擎的表的数据都会记录到该共享表空间中。

若设置了参数innodb_file_per_table,则用户可以将每个基于InnoDB存储引擎的产生一个独立表空间。独立表空间的命名规则为:表名.ibd。通过这样的方式,用户不用将所有数据都存放于默认的表空间中。

注意

这些单独表空间仅存储该表的数据索引插入缓冲BITMAP等信息,其余信息还是存放在默认的表空间中。

重做日志文件

在默认情况下,在InnoDB存储引擎的数据目录下会有两个名为ib_logfile0和ib_logfile1的文件。在MySQL官方手册中将其称为InnoDB存储引擎的日志文件,不过更准确的定义应该是重做日志文件(redo log file)。为什么强调是重做日志文件呢?因为重做日志文件对于InnoDB存储引擎至关重要,它们记录了对于InnoDB存储引擎的事务日志。

每个InnoDB存储引擎至少1个重做日志文件组(group),每个文件组下至少2个重做日志文件,如默认的ib_logfile0和ib_logfile1。

为了得到更高的可靠性,用户可以设置多个的镜像日志组(mirrored log groups),将不同的文件组放在不同的磁盘上,以此提高重做日志的高可用性。

日志组中每个重做日志文件的大小一致,并以循环写入的方式运行。InnoDB存储引擎先写重做日志文件1,当达到文件的最后时,会切换至重做日志文件2,再当重做日志文件2也被写满时,会再切换到重做日志文件1中。

相关文章

  • mysql 高级

    关键文件 日志文件 数据文件 配置文件 存储引擎 mysql使用插件式的存储引擎,MySQL存储引擎有InnoDB...

  • MySQL存储引擎

    一.存储引擎简介 相当于Linux文件系统,只不过比文件系统强大 二.存储引擎的种类 MyISAM存储引擎 由于该...

  • 【书 : InnoDB 存储引擎 】目录

    1章 Mysql 体系结构和存储引擎 2章 InnoDB 存储引擎 3章 文件 3.1 参数文件 3.2 日志文件...

  • 存储引擎文件

    之前的文件都是MySQL数据库本身文件,和存储引擎无关。除了这些文件,每个表存储引擎还有自己独有的文件。包括重做日...

  • MYSQL-InnoDB引擎

    一、MYSQL存储引擎: InnoDB存储引擎作用:规划和存取数据,类似于Linux文件系统 1、查看存储引擎类型...

  • 07-存储引擎-01

    1.存储引擎介绍 相当于Linux 文件系统.组织存储表数据. 2.存储引擎的种类 查看存储引擎的种类 其他的存储...

  • 存储引擎

    存储引擎 MySQL可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎。每一种存储引擎使用...

  • MySQL 学习笔记

    存储引擎 MySQL 可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎。每种存储引擎使用不同的存...

  • (十一)MySQL存储引擎

    1、存储引擎简介   MySQL可以将数据以不同的技术存储在文件(内存)中,该技术就被称为存储引擎。每一种存储引擎...

  • MySQL学习笔记(六)存储引擎

    存储引擎 (1)MySQL可以将数据以不同的技术存储在文件(内存)中,这种技术就成为存储引擎。每种存数引擎使用不同...

网友评论

      本文标题:存储引擎文件

      本文链接:https://www.haomeiwen.com/subject/wjilghtx.html