mysql中,会涉及到各种表空间的概念,虽然,很多方面这些概念和Oracle有相似性,但也有很多不同的地方,初学者很容易被这些概念弄的晕头转向,从而,混淆这些概念的区别和理解,下面,就简要介绍和说明一下这些表空间的概念。

1.系统表空间(System Tablespace)

innodb系统表空间包含innodb数据字典(innodb相关对象的元数据),同时,双写缓冲(doublewrite buffer)、改变缓冲(change buffer)和undo日志(undo logs)等也存储于系统表空间中。此外,系统表空间

也包含用户在改表空间创建的表和索引等数据。由于系统表空间可以存储多张表,因此,其为一个共享表空间。系统表空间由一个或多个数据文件组成,默认情况下,其包含一个叫ibdata1的系统数据文件,位于mysql

数据目录下。系统表空间数据文件的大小和数目由innodb_data_file_path启动选项控制。

2.表文件表空间(File-Per-Table Tablespaces)

表文件表空间是一个单表表空间,该表创建于自己的数据文件中,而非创建于系统表空间中。当innodb_file_per_table选项开启时,表将被创建于表文件表空间中。否则,innodb将被创建于系统表空间中。

每个表文件表空间由一个.ibd数据文件代表,该文件默认被创建于数据库目录中。表文件表空间支持动态(DYNAMIC)和压缩(commpressed)行格式。

3.通用表空间(General Tablespaces)

通用表空间为通过create tablespace语法创建的共享表空间。通用表空间可以创建于mysql数据目录外的其他表空间,其可以容纳多张表,且其支持所有的行格式。

通过create table tab_name ... tablespace [=] tablespace_name或alter table tab_name tablespace [=] tablespace_name语法将其添加与通用表空间内。

4.undo表空间(undo tablespace)

undo表空间由一个或多个包含undo日志的文件组成。innodb_undo_tablespace配置选项控制undo表空间的数目。undo表空间创建于innodb_undo_directory配置选项确定的位置,该选项典型被用于将undo日志放于不同的

存储设备上。如果该选项没有确定任何路径,undo表空间则备创建于mysql通过datadir确定的数据目录下。

5.临时表空间(Temporary Tablespace)

用户创建的临时表和磁盘内部临时表创建于共享临时表空间中。innodb_temp_data_file选项确定临时表空间数据文件的相对路径、名字、大小和属性等。如果该选项未确定任何值,默认情况下,系统将在

innodb_data_home_dir确定的目录下创建一个叫ibtmp1的自动扩展的数据文件,该文件将稍大于12m。

mysql服务器正常关闭或异常终止初始化时,临时表空间将被移除,并且,mysql服务器每次启动时会被重新创建。当临时表空间被创建时,其被赋予一个动态产生的空间ID(space ID)。如果不能创建临时表空间,

mysql服务器启动将被拒绝。mysql服务器异常终止的情况下,临时表空间将不被移除。这种情况下,DBA能手工移除临时表空间或重启mysql服务器,重启服务器过程中,将自动移除和重新创建临时表空间。

临时表空间并不能存储于裸设备。

这里既然说到了innodb_data_home_dir,那么,就说说这个选项,该选项确定innodb系统表空间数据文件目录路径的共同部分。innodb_file_per_table开启时,该选项设置并不影响表文件表空间的位置。该选项默认值

为mysql数据目录。如果你将该选项设置为空串,那么,你可以为innodb_data_file_path设置一个绝对路径值。此外,当为innodb_data_home_dir指定一个值时,需要在尾部添加一个斜杠。

mysql表空间_浅谈mysql中各种表空间(tablespaces)的概念相关推荐

  1. mysql revoke 授权_浅谈MySQL中授权(grant)和撤销授权(revoke)用法详解

    MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利 grant selec ...

  2. mysql 用户通配符_浅谈mysql通配符进行模糊查询的实现方法

    在mysql数据库中,当我们需要模糊查询的时候 ,我们会使用到通配符. 首先我们来了解一下2个概念,一个是操作符,一个是通配符. 操作符 like就是SQL语句中的操作符,它的作用是指示在SQL语句后 ...

  3. mysql维护计划任务_浅谈MySQL event 计划任务

    一.查看event是否开启 show variables like '%sche%'; set global event_scheduler =1; 二. -- 设置时区并设置计划事件调度器开启,也可 ...

  4. mysql sql优化_浅谈mysql中sql优化

    说到sql优化,一般有几个步骤呢,在网上看到了一篇很不错的帖子.在这分享一下吧,也是自己学习的一个过程. 一.查找慢查询 1.1.查看SQL执行频率 SHOW STATUS LIKE 'Com_%'; ...

  5. mysql账号认证_浅谈MySQL用户账号认证方式

    为了有效控制数据库用户的访问权限,在MySQL数据库中创建了一个新用户,但使用刚创建的用户和密码却发现连接不了MySQL数据库,通过查看官网手册及<MySQL技术内幕>一书,才逐渐熟悉My ...

  6. mysql下日志_浅谈mysql下日志记录

    1,如何查看mysql执行命令历史 #.mysql_history     此文件记录了在mysql中执行命令的历史 2,事务日志: transaction log:事务型存储引擎自行的管理和使用. ...

  7. mysql 变量 数据类型_浅谈mysql(二)数据类型

    //我...我才是不是傲娇呢 //如有问题还请多多指教.上回我们说到我们如何使用MySQL,关键是要看它的用途.用途衍生语句.之后文章的思路,也是如此,从用途出发,然后再到语句. 那么,我们先问几个问 ...

  8. mysql signed 长度_浅谈mysql字段长度设置

    mysql 中最常用的数据类型是tinyint,smallint,int,bigint,char,varchar; char(n)和varchar(n)存储固定长度的字符数据,长度最大为254字节.使 ...

  9. php隐藏表单提交表单提交表单_浅谈php提交form表单

    处理GET请求 实现的功能是输入姓名后页面显示"Hello XXX" 创建html文件hello.html: 欢迎 创建PHP文件hello.php: /** * Created ...

最新文章

  1. BTC引领市场多头情绪爆发 BCH筑底完成望成上涨新风口
  2. postgresql 10.1 分区表之 list 分区
  3. ionic app调试问题
  4. 普适的GPIO引脚操作方法
  5. Hibernate学习系列————注解一对多单向实例
  6. 很久之前写的【成绩管理系统】的数据库
  7. 实对称矩阵的特征值求法_梳理:矩阵对角化
  8. Java高阶知识体系总结(一)
  9. 基本磁盘转换动态磁盘,再转换为基本磁盘,分区数据丢失
  10. 战旗html5播放器为什么卡顿,视频站启用html5播放器
  11. python绘制不同风格的分级统计图(Choropleth map)
  12. php计算机毕业设计 基于微信小程序的房屋出租租赁 小程序 uniapp
  13. RSA/ECDSA host key has changed 错误
  14. #include< >和#include“ ”的区别
  15. mysql的自身防御不包括_2020高校邦《MySQL数据库基础》作业题库2020智慧树《大学物理 Ⅰ》判断题答案...
  16. [NC1105B]下雨天
  17. 车载gps位置服务器,车载GPS监控系统工作原理简介
  18. 单页和多页应用(vue.js学习笔记)
  19. 好玩的API调用之---星座运势的API与爬虫爬取
  20. TemplateInputException:template might not exist or might not be accessible

热门文章

  1. Latex的空格 转载
  2. python_类方法和静态方法
  3. linux内核安装指南-1
  4. 1*2*...*1000的末尾有多少个0?(Java实现)
  5. Python+pandas计算数据相关系数
  6. Python使用广度优先和深度优先两种方法遍历目录树
  7. wamp安装和配置_手动配置Wordpress环境真香,让我毫不犹豫卸载LAMP和WAMP环境
  8. 509. 斐波那契数(JavaScript)
  9. 力扣225. 用队列实现栈(JavaScript)
  10. 力扣76,最小覆盖字串(JavaScript)