mysql innodb文件_MySQL的InnoDB文件介绍
MySQL一个显著的特点是其可插拔的存储引擎,因此MySQL文件分为两种,一种是和MySQL数据库本身相关 的文件,一种是和存储引擎相关的文件。本文主要介绍和InnoDB存储引擎相关的文件。
表空间文件
InnoDB在存储上也模仿了Oracle的设计,数据按表空间进行存储,但是和Oracle不一样的是,Oracle 的表空间是个逻辑的概念,而InnoDB的表空间是个物理的概念。
你可以通过参数 innodb_data_file_path来设置默认的表空间文件,所有基于InnoDB存储引擎的表都会存储在该文件内。如果 你想基于每个表单独生成一个表空间文件,可以设置参数innodb_file_per_table为ON,这样表的数据、索引 和插入缓冲等消息存储在单独的表空间文件中,但其余信息还是存储在默认的表空间文件中。
下图显 示了表空间文件的存储方式:
上图中主要有以下几种存储文件:
1)表结构定义文件(.frm):MySQL里每个表和每个视图都有一 个对应的.frm文件用于记录表和视图的定义。注意:该文件和存储引擎无关,属于MySQL数据库本身的文件。
2)默认表空间文件(ibdata)
3)单独表空间文件(.ibd)
重做日志文件
重做日 志文件对InnoDB存储引擎至关重要,记录了事务日志,如果数据库由于宕机导致实例失败,重新启动时,就 可以利用重做日志恢复到宕机前的一致性状态。
MySQL的重做日志和Oracle的很类似,通过循环的方 式覆盖重用,下图显示了一个拥有3个重做日志文件的重做日志文件组:
这里有个疑问 ,同样是记录事务日志,InnoDB的重做日志文件和MySQL自身的二进制文件有什么区别?它们的区别主要有以 下三点:
1)首先,范围不同。二进制文件记录所有与MySQL相关的日志记录,包括InnoDB,MyISAM, Heap等存储引擎的日志。而InnoDB的重做日志只记录InnoDB相关的事务日志。
2)其次,内容不同。 二进制文件记录的是关于一个事务的具体操作内容,而InnoDB的重做日志记录每个数据页(page)更改的物 理情况。
3)写入的时间不同。二进制文件在事务提交之前记录,在事务进行过程中,不断有重做日 志条目写入重做日志文件中。
mysql innodb文件_MySQL的InnoDB文件介绍相关推荐
- mysql innodb 文件_MySQL与InnoDB相关文件
原标题:MySQL与InnoDB相关文件 上期回顾 <InnoDB存储引擎> 概要 本章将会分析构成MySQL数据库和InnoDB存储引擎的各种类型文件,这些文件有如下几种: 参数文件:主 ...
- mysql myisam 优点_mysql引擎Innodb和Myisam对比介绍和优缺点
一.myisam引擎 1.mysql默认引擎,不支持事务* 2.表级锁定,更新时,锁定机制是整张表被锁定,其它连接无法更新表的数据,效率比较低下.锁的机制成本很少,但大大降低了并发性能* 3.读写互相 ...
- mysql文件_mysql 的各种文件详细说明
1:数据目录 mysql> show global variables like '%datadir'; +---------------+------------------+ | Varia ...
- mysql重做日志文件_MySQL 重做日志文件
一.innodb log的基础知识 · innodb log顾名思义:即innodb存储引擎产生的日志,也可以称为重做日志文件,默认在innodb_data_home_dir下面有两个文件ib_log ...
- mysql的扩容_MySQL的InnoDB的扩容
innodb_data_home_dir这是InnoDB表的目录共用设置.如果没有在 my.cnf 进行设置,InnoDB 将使用MySQL的 datadir 目录为缺省目录.如果设定一个空字串,可以 ...
- mysql数据库怎么读文件_mysql数据库读写文件
环境: centos7 mysql 5.6.47 用户:root@localhost 条件 mysql中涉及到读写操作,必然离不开secure_file_priv参数,它的值限制load data,s ...
- mysql导入csv文件_Mysql——将CSV文件导入表中
本教程展示如何用LOAD DATA INFILE 将 CSV 文件导入MySQL表中. LOAD DATA INFILE 语句可以读取文本文件并导入数据库中. 在导入文件之前,你需要做如下准备:导入文 ...
- mysql多大_mysql的innodb表到底占用多大的空间?
问题背景:最近某个数据库服务器磁盘告警,在数据库内查询information_schema.tables查看数据库一共占用了8个T左右的空间,但是在服务器上通过du命令查看数据库文件夹占用了18个T( ...
- mysql查看系统运行日志文件_mysql自身运行日志文件详解
概述 日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等.这些日志可以帮助我们定位mysqld内部发生的事件,数据库 ...
最新文章
- C# Null 赋值
- php基础教程 第六步 学习数组以及条件判断switch补充
- json数组格式问题
- 思科智能交换机受多个严重漏洞影响
- 火星舱如何备份oracle_倒计时!火星,我们来了
- 【电路仿真】基于matlab Simulink四旋翼PID控制【含Matlab源码 454期】
- 多多客api_蚂蚁星球(原好京客)(haojingke.com)- 做大京客,享大数据营销 - 拼多多API接口...
- Java Apache POI 小记(读取Word通过模板创建PPT)
- excel几个数相加等于某个数_『excel表如何从一列数据中筛选出合计等于某数的某些数?』...
- 【Java代码之美】 -- Java11新特性解读
- Spark快速大数据分析——Spark安装与IDEA 开发(贰)
- SEO–关于如何通过利用流量精灵刷百度排名及排名原理~
- Windows ActiveMq开机自启动设置
- 【HoloLens2】HoloLens中如何操控自制的3D模型(移动、缩放、旋转)
- GALIL运动控制卡维修控制器维修DMC-1840
- 如何自己设计一个扫码登录
- 虚拟机服务器校园网访问设置,配置VMware虚拟机用绕过校园网达到无线上网配置方法...
- Android Q 10.1 KeyMaster源码分析(二) - 各家方案的实现
- torch实现自编码器_Pytorch-自编码器与变分自编码器
- BZOJ2654: tree(陈立杰)
热门文章
- SDN精华问答 | 为什么SDN要花这么长时间才被采用?
- mysql显示百分比例_显示值mysql的百分比
- uni-app 微信小程序授权登录
- Directory /opt/jfrog/artifactory/var has bad permissions for user id 1030
- Wrapper+map实现页面显示
- SonarQube启动报错:WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedExcepti
- 系统架构设计师 - 软件架构设计 - 架构评估
- ajax异步提交案例(用户校验)
- 中正则表达式详解_python :正则表达式/re库 超级详细de注释解释
- java 牛生小牛_例题:大牛生小牛的问题解决方法