一、innodb系统表空间的简介:

  innodb 系统表空间是由若干个文件组成的,表空间的大小就是对应文件的大小,表空间文件是由innodb_data_file_path

  这人参数来定义的。下面我们来感受一下innodb_data_file_path的写法

  1、表空间由一个12M的ibdata1的文件组成

[mysqld]
innodb_data_file_path =ibdata1:12M

  2、表空间分别由一个12M的ibdata1的文件和一个48M的ibdata2的文件组成,而且ibdata2可以自动的扩展

[mysqld]
innodb_data_file_path=ibdata1:12M;ibdata2:48M:autoextend

二、由表空间的配置推导扩展表空间的方法:

  由于表空间是由多个文件组成的,各个文件大小之和就是表空间的大小,于是引出了两种完全不同的扩展表空间的方案

  1、把表空间文件标记为autoextend(注意只有表空间文件组中的最的一个文件才可以打这个标记),这样mysql就能自动

  增加这个文件的大小,文件的大小增加了表空间的大小也就自然增加了。这种方式可以适用于第一.1目中的例子(它没有

  标记成autoextend)。

  2、由于表空间是由多个表空间文件组成的,也就是说们可以通过增加文件的方式来扩大表空间。

三、针对情况一(之前没有打autoextend标记)的扩展步骤:

  1、关闭mysql服务

shell>systemctl stop mysql

  2、修改mysql实例的配置文件,改innodb_data_file_path=ibdata1:12M 为innodb_data_file_path=ibdata1:12M:autoextend

[mysqld]
innodb_data_file_path=ibdata1:12M:autoextend

  3、启动mysql数据库服务

shell>systemctl start mysql

  

四、针对增加文件的情况:

  这种情况对应着第一.2目中的配置,事实上第一.2目中的配置下,表空间是会自己扩展的,因为有给ibdata2打上autoextend

  标记,由于这里要讲的增加文件扩展表空间,所以就直接开车啦。

  1、由于配置中ibdata2是自动扩展的,在增加新的表空间文件是要先确定一下,ibdata2的大小

shell>ll -h
总用量 173M
.................
-rw-r-----. mysql mysql 12M 9月 : ibdata1
-rw-r-----. mysql mysql 64M 9月 : ibdata2
.................

  可以看到现在的ibdata2已经从配置时的48M增长到64M了。

  2、由于要加入第三个文件ibdata2 不能再有autoextend标记(只能最后一个文件有autoextend标记),这个时候ibdata2

  要写上它的真实大小了;新增加的ibdata3我们可以给它一个初始的大小比如说12M,注意这个时候ibdata3的autoextend

  标记是可选的,我们这里选择给它加上,所以配置文件就要改为

[mysqld]
innodb_data_file_path=ibdata1:12M;ibdata2:64M;ibdata3:12M:autoextend

  3、启动mysql数据库

shell>systemctl start mysql

  4、事实上扩展开空间的步骤就已经完成了,接下来可以看一下效果:

shell>ll -h
总用量 197M
.................
-rw-r-----. mysql mysql 12M 9月 : ibdata1
-rw-r-----. mysql mysql 64M 9月 : ibdata2
-rw-r-----. mysql mysql 12M 9月 : ibdata3
.................

----

----------------------------------------------------------------------

mysql-5.7 扩展innodb系统表空间详解的更多相关文章

  1. mysql-5.7 收缩系统表空间详解

    innodb 系统表空间是一个逻辑上的概念,它的物理表现就是innodb系统表空间文件:在讲扩展系统表空间时我们说到 可以用增加文件,增加autoextend标记 这两种方式来解决:但是问题到了收缩表 ...

  2. 14.7.1 Resizing the InnoDB System Tablespace InnoDB 系统表空间大小

    14.7.1 Resizing the InnoDB System Tablespace InnoDB 系统表空间大小 这个章节描述如何增加或者减少 InnoDB 系统表空间的大小 增加InnoDB ...

  3. 1. 调整InnoDB系统表空间的大小

    1. 调整InnoDB系统表空间的大小 介绍如何增大或减小InnoDB系统表空间的大小 . 1.1 增加InnoDB系统表空间大小 增加InnoDB系统空间最简单的方法就是,在配置文件中配置autoe ...

  4. Oracle表空间详解

    Oracle表空间详解 1.表空间的分类 Oracle数据库把表空间分为两类:系统表空间和非系统表空间. 1.1系统表空间指的是数据库系统创建时需要的表空间,这些表空间在数据库创建时自动创建,是每个数 ...

  5. ORACLE结构体系篇之表空间详解.md

    表空间详解一.系统表空间SYSTEM 表空间是Oracle 数据库最重要的一个表空间,存放了一些DDL 语言产生的信息以及PL/SQL 包.视图.函数.过程等,称之为数据字典,因此该表空间也具有其特殊 ...

  6. 15.3、mysql之InnoDB和MyISAM表空间详解

    15.3.1.InnoDB引擎表空间: 1.表空间分类: 共享表空间: 某一个数据库的所有的表数据,索引文件全部放在一个文件中,默认这个共享表空间的文件路径在 data目录下. 默认的文件名为:ibd ...

  7. innodb系统表空间维护

    环境说明: 有一个在运行中的mysql环境,由于之前的配置文件设置的过于简单(没有配置innodb_data_file_path变更):造成现在系统表空间已经满了 如果innodb_data_file ...

  8. Oracle 表空间详解

    目录 目录 表空间概述 表空间的分类 默认表空间 查看默认的永久表空间 查看默认的TEMP表空间 查看默认的表空间类型 逻辑结构到物理结构的映射 对表空间的操作 查看表空间使用情况 查看数据库拥有的表 ...

  9. MySQL数据库系列(四)- InnoDB下的共享表空间和独立表空间详解

    一.概念 共享表空间: Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所以其大小限制不再是文件大小的限制,而是其自身的限制.从Innod ...

随机推荐

  1. CentOS 服务器安全设置

      我们必须明白:最小的权限+最少的服务=最大的安全.所以无论是配置任何服务器,我们都必须把不用的服务关闭.把系统权限设置到最小化,这样才能保证服务器最大的安全. 一.注释掉系统不需要的用户和用户组 ...

  2. 解决PHP在Windows IIS 上传的图片无法访问的问题

    最近在做一个网站项目遇到了一个很奇怪的问题,现记录下来希望可以帮助到其他的朋友   问题描述: 最近公司刚刚在香港购买了一个Windows Server 2008 服务器用于将一个客户的N个php网站 ...

  3. [Sass] Level 3: Mixin -- Ex

    When to use MIXIN? Better way to use MIXIN is when you deal with browser prefiex, for example: @mixi ...

  4. 安全删除U盘或其他硬件 unlocker的使用方法

    1 假如我在优盘里新建一个文档,并且正在读写文件. 点击右下角的安全删除的时候弹出如下对话框. 2 在该优盘上右击,Unlocker,弹出的对话框显示NOTEPAD.EXE正在使用. 3 在确保左侧是 ...

  5. Linux集群监控工具简介:Ganglia和Nagios

    11年时候,曾经对 Ganglia 和 Nagios有一定接触,这是两个用于监视数据中心的工具.这两个工具被大量用于高性能计算(HPC)环境中,但是它们对于其他环境也具有很大的吸引力(例如云.呈现集群 ...

  6. C++ vector类型要点总结

    概述 C++内置的数组支持容器的机制,但是它不支持容器抽象的语义.要解决此问题我们自己实现这样的类.在标准C++中,用容器向量(vector)实现. 容器向量也是一个类模板.vector是C++标准模 ...

  7. jquery 圆形进度条

    最近手里面的项目需要完成这个对设备性能的检测显示功能,需要使用到圆形进度条这样的效果,网上找了一圈,有很多相当的插件,找到:circliful 插件,看了他的使用说明比较的方便,于是就下载了它并将自己 ...

  8. MySQL主从常见的架构

    Master-Slave  级联  双Master互为主备

  9. JavaScript toString、String和stringify方法区别

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  10. lftp mirror 上传目录

    1. lftp的确很强大, 要学习一下.       sudo yum install lftp       (测试了一下,ftp软件才92K,lftp有2.3M) 2. lftp mirror 能上 ...