InnoDB存储引擎文件
InnoDB存储引擎文件
MySQL数据库包括数据库本身的文件和存储引擎文件。数据库自身的文件由参数文件(my.cnf)、错误日志文件、慢查询日志文件、查询日志文件、二进制日志文件、套接字文件、pid文件、表结构定义文件(tabname.frm)
和InnoDB存储引擎相关的文件有表空间文件和重做日志文件。
一、表空间文件
InnoDB引擎将存储的数据按照表空间进行存放的设计。在默认配置下有一个初始大小10M,名为ibdata1的文件。该文件就是默认的表空间文件,可以通过innodb_data_file_path参数配置,格式如下:
innodb_data_file_path = datafile1_spec1 [;datafile2_spec2]...
用户通过多个文件组成表空间,同时制定文件的属性,如:
innodb_data_file_path = /db/ibdata1:2000M;/dr/ibdata2:2000M:autoextend
这里时两个文件组成的表空间,若两个文件位于不同的磁盘,磁盘的负载可能被平均。可以提高数据库的整体性能,设置了innodb_data_file_path参数,所有InnoDB引擎表数据都会记录到该共享表空间中。
如果设置了innodb_file_per_table,则每个InnoDB表产生一个独立的表空间。命名规则 表名.ibd,不再将所有数据存放在默认的表空间。这些单独的表空间仅存储表的数据,索引,插入缓冲BITMAP等信息,其余信息仍然存在默认表空间。如图是InnoDB对于文件的存储方式:

二、重做日志文件
默认情况下,在InnoDB引擎的数据目录下有两个ib_logfile0和ib_logfile1的文件。这两个就是重做日志文件。当实例或介质失败时,重做日志就派上用场。例如,主机断电,数据库根据重做日志恢复到断电前的时刻。
每个InnoDB引擎至少有一个重做日志文件组,每个文件组至少两个重做日志文件。为了提高更高的可靠性,用户可以设置多个镜像日志组。将不同的文件组放在不同的磁盘上,提高日志的高可用性。在日志组中每个重做日志的大小一致。以循环的方式写入。InnoDB先写重做日志1,当达到文件最后,切换到重做日志2,日志2满了之后再切换到日志1。影响重做日志属性的参数有:
(1)、innodb_log_file_size 每个重做日志的大小
(2)、innodb_log_files_in_group 重做文件日志组中日志文件的数量,默认为2。
(3)、innodb_mirrored_log_groups 日志镜像文件组的数量,默认1。表示只有一个日志文件组,没有镜像。
(4)、innodb_log_group_home_dir 日志文件组所在路径,默认./ 表示在MySQL的数据目录下。
重做日志对系统性能影响很大,如果太大恢复需要很久。设置太小,否则一个事务的日志需要多次切换重做日志文件。重做日志太小,会频繁的触发检查点
InnoDB存储引擎文件的更多相关文章
- MySQL数据库和InnoDB存储引擎文件
参数文件 当MySQL示例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等.在默认情况下,MySQL实例会按照一定 ...
- 《Mysql技术内幕,Innodb存储引擎》——文件、表
文件 日志 错误日志 对Mysql启动.运行和关闭过程进行记录,通过SHOW VARIABLES LIKE 'log_error'查看日志文件位置. 慢查询日志 Mysql启动时设置一个阈值,运行时间 ...
- MySQL技术内幕InnoDB存储引擎(三)——文件相关
构成MySQL数据库和InnoDB存储引擎表的文件类型有: 参数文件:MySQL实例运行时需要的参数就是存储在这里. 日志文件:用来记录MySQL实例对某种条件做出响应时写入的文件. socket文件 ...
- MySQL InnoDB 存储引擎原理浅析
注:本文主要基于MySQL 5.6以后版本编写,多数知识来着书籍<MySQL技术内幕++InnoDB存储引擎>,本文章仅记录个人认为比较重要的部分,有兴趣的可以花点时间读原书. 一.MyS ...
- 【Mysql技术内幕InnoDB存储引擎】读书笔记
一.存储引擎 1.InnoDB引擎 设计目标是面向在线事务(OLTP)处理的应用. 支持事务.行级锁.通过多版本并发控制(MVCC)支持高并发.提供一致性非锁定读.next-key locking避免 ...
- InnoDB存储引擎的表空间文件,重做日志文件
存储引擎文件:因为MySQL表存储引擎的关系,每个存储引擎都会有自己的文件来保存各种数据.这些存储引擎真正存储了数据和索引等数据. 表空间文件 InnoDB存储引擎在存储设计上模仿了Oracle,将存 ...
- 在MySQL的InnoDB存储引擎中count(*)函数的优化
写这篇文章之前已经看过了很多数据库方面的优化内容,大部分都是加索引.使用事务.要什么select什么等等.然而,只是停留在阅读的层面上,很少有实践,因为没有遇到真实的项目,一切都是纸上谈兵.实践是检验 ...
- MySQL InnoDB存储引擎
200 ? "200px" : this.width)!important;} --> 介绍 本篇文章是对Innodb存储引擎的概念进行一个整体的概括,innodb存储引擎的 ...
- [MySQL Reference Manual]14 InnoDB存储引擎
14 InnoDB存储引擎 14 InnoDB存储引擎 14.1 InnoDB说明 14.1.1 InnoDB作为默认存储引擎 14.1.1.1 存储引擎的趋势 14.1.1.2 InnoDB变成默认 ...
随机推荐
- hdoj5754
题意:略 国王和骑士用记忆搜索,注意骑士的移动是x-2,y-1或x-1,y-2.车是NIM博弈,后是威佐夫博弈.注意威佐夫博弈中两堆石子有大小之分,而输入不一定小在前. #include <io ...
- jq初入行常用动画
--jq动画分类--(1)jQuery的动画其实就是将之前提到过的各种特效进行封装,并对其性能进行优化.(2)jQuery动画分为三个部分:非自定义动画,自定义动画,和全局动画设置. 一.非自定义动画 ...
- fly.js抛物线连续不断加入购物车
http://yanshi.sucaihuo.com/jquery/2/298/demo/
- [Codeforces440D]Berland Federalization
Problem 给你一棵树,最少删掉哪些边,能使得余下的至少有1个大小刚好为k的残树. 1 ≤ k ≤ n ≤ 400 Solution 用f[i][j]表示以i为根有j个节点的最少删边数量 因为此题 ...
- PC/FORTH 变量|常数|数组
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- springCloud配置本地配中心SpringCloudConfig
多环境配置 在一般开发过程中如果调试都在本地进行,则可以设置一个多环境配置,在本地与线上配置间来回切换. springcloud默认会访问的配置文件名是application.properties, ...
- [Linux]Redhat7配置本地镜像源
一.Redhat7源 上一个文章介绍了如何配置的Redhat7的YUM网络源:[Linux]Redhat7配置CentOS7 YUM源 .如果在无法联网的情况下,可以使用镜像文件作为源安装需要的包. ...
- 使用Python爬取代理ip
本文主要代码用于有代理网站http://www.kuaidaili.com/free/intr中的代理ip爬取,爬虫使用过程中需要输入含有代理ip的网页链接. 测试ip是否可以用 import tel ...
- Android开发 ---基本UI组件7 :分页功能、适配器、滚动条监听事件
效果图: 1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> ...
- Jmeter分布式及在Linux上执行jmeter脚本
Jmeter分布式 主控机即自己的电脑,控制并发数 压力机即别人的机器,和主控机一起添加压力 1.其他的压力机需要启动Jmeter-server.bat 启动成功页面 2.主控机的Jmeter 的bi ...