zoukankan      html  css  js  c++  java
  • mysql-5.7 扩展innodb系统表空间详解

    一、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-----. 1 mysql mysql  12M 9月  17 16:36 ibdata1
    -rw-r-----. 1 mysql mysql  64M 9月  17 16:36 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-----. 1 mysql mysql  12M 9月  17 16:43 ibdata1
    -rw-r-----. 1 mysql mysql  64M 9月  17 16:36 ibdata2
    -rw-r-----. 1 mysql mysql  12M 9月  17 16:43 ibdata3
    .................

    ----

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

  • 相关阅读:
    查看服务器
    AspectJ JoinPoint及ProceedingJoinPoint 简要api文档
    shrio的springboot完整配置
    shiro配置springboot的基本配置
    shiro的ssm集成和简单的开发尝试
    编写高质量的Python代码系列(八)之部署
    编写高质量的Python代码系列(七)之协作开发
    编写高质量的Python代码系列(六)之内置模块
    编写高质量的Python代码系列(五)之并发与并行
    编写高质量的Python代码系列(四)之元类及属性
  • 原文地址:https://www.cnblogs.com/JiangLe/p/7536224.html
Copyright © 2011-2022 走看看