mysql autoextend_1. 调整InnoDB系统表空间的大小

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

介绍如何增大或减小InnoDB系统表空间的大小 。

1.1 增加InnoDB系统表空间大小

增加InnoDB系统空间最简单的方法就是,在配置文件中配置autoextend

每次自动扩展的增量大小由参数 innodb_autoextend_increment 控制,单位为’M’。

mysql> show variables like 'innodb_autoextend_increment';

+-----------------------------+-------+

| Variable_name | Value |

+-----------------------------+-------+

| innodb_autoextend_increment | 64 |

+-----------------------------+-------+

该 innodb_autoextend_increment 设置不会影响 每个表的单独表空间文件或常规表空间文件。无论innodb_autoextend_increment设置如何,这些文件都是自动扩展的 。初始扩展是少量的,之后以4MB的增量扩展。

设置自动扩展示例:

innodb_data_file_path = ibdata1:1G:autoextend

增加数据文件扩展系统表空间

1. 关闭MySQL服务器

如果最后一个数据文件上有关键字autoextend,请根据实际大小将其改成固定大小。

添加新数据文件到末尾,可以选择使用自动扩展。但是只能将最后一个数据文件指定为自动扩展。

如下面错误示例:

innodb_data_file_path = ibdata1:1G:autoextend;ibdata2:10M:autoextend

查看log-error日志

2018-08-09T06:22:11.781320Z 0 [ERROR] InnoDB: syntax error in file path or size specified is less than 1 megabyte

2018-08-09T06:22:11.781352Z 0 [ERROR] InnoDB: Unable to parse innodb_data_file_path=ibdata1:1G:autoextend;ibdata2:10M:autoextend

2018-08-09T06:22:11.781357Z 0 [ERROR] Plugin 'InnoDB' init function returned error.

2018-08-09T06:22:11.781361Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

2018-08-09T06:22:11.781364Z 0 [ERROR] Failed to initialize builtin plugins.

2018-08-09T06:22:11.781367Z 0 [ERROR] Aborting

正确示例:

innodb_data_file_path = ibdata1:1G;ibdata2:10M:autoextend

再次启动MySQL服务器

2018-08-09T06:28:37.355696Z 0 [Note] InnoDB: Need to create a new innodb_system data file 'ibdata2'.

2018-08-09T06:28:37.355778Z 0 [Note] InnoDB: Setting file './ibdata2' size to 10 MB. Physically writing the file full; Please wait ...

2018-08-09T06:28:37.491906Z 0 [Note] InnoDB: File './ibdata2' size is now 10 MB.

L3Byb3h5L2h0dHBzL2kuaW1ndXIuY29tL3hIUU9qeU8ucG5n.jpg

mysql> show variables like 'innodb_data_%';

+-----------------------+-----------------------------------+

| Variable_name | Value |

+-----------------------+-----------------------------------+

| innodb_data_file_path | ibdata1:1G;ibdata2:10M:autoextend |

| innodb_data_home_dir | |

+-----------------------+-----------------------------------+

【注意】:添加新数据文件时,请确保文件名不引用现有文件。否则InnoDB重新启动服务器时创建并初始化文件。

1.2 减小InnoDB系统表空间大小

无法从系统表空间中删除数据文件。要减小系统表空间大小,请使用以下过程:

1)使用mysqldump转储所有 InnoDB表,包括位于mysql schema 中的InnoDB表

mysql> SELECT TABLE_NAME from INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='mysql' and ENGINE='InnoDB';

+---------------------------+

| TABLE_NAME |

+---------------------------+

| engine_cost |

| gtid_executed |

| help_category |

| help_keyword |

| help_relation |

| help_topic |

| innodb_index_stats |

| innodb_table_stats |

| plugin |

| server_cost |

| servers |

| slave_master_info |

| slave_relay_log_info |

| slave_worker_info |

| time_zone |

| time_zone_leap_second |

| time_zone_name |

| time_zone_transition |

| time_zone_transition_type |

+---------------------------+

19 rows in set (0.00 sec)

2)停止服务器

3)删除所有现有的表空间文件(*.ibd),包括ibdata和ib_log文件。不要忘记删除位于mysql schema中的表的*.ibd文件。

4)删除InnoDB表的所有.frm文件 。

5)配置新的表空间

6)重启服务器

7)导入转储文件。

注意

如果数据库仅使用InnoDB引擎,则dump所有数据库,停止服务器,删除所有数据库和InnoDB日志文件,重新启动服务器以及导入dump文件可能更简单。

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

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

mysql-5.7 扩展innodb系统表空间详解

一.innodb系统表空间的简介: innodb 系统表空间是由若干个文件组成的,表空间的大小就是对应文件的大小,表空间文件是由innodb_data_file_path 这人参数来定义的.下面我们来 ...

innodb系统表空间维护

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

14.4.5 System Tablespace 系统表空间

14.4.5 System Tablespace 系统表空间 InnoDB 系统表空间包含InnoDB 数据目录(元数据 用于InnoDB相关对象)和是存储区域用于doublewrite buffer ...

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

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

3. 对系统表空间使用Raw磁盘分区

3. 对系统表空间使用Raw磁盘分区 可以将raw磁盘分区用作InnoDB系统表空间中的数据文件.此技术可在Windows和某些Linux和Unix系统上启用非缓冲I/O,而无需文件系统开销.使用和不 ...

9. InnoDB通用表空间

9. InnoDB通用表空间 通用表空间是InnoDB 使用CREATE TABLESPACE语法创建的共享表空间.本节中的以下主题描述了常规表空间功能和功能: 通用表空间功能 创建通用表空间 将表添 ...

Linux上Oracle18C 系统表空间大小调整 adjust the system tablespace for oracle18c on linux

1. 测试过程中,发现  system tablespace is not enough, need to adjustment 初步解决方案: 查询一下 system tablespace的大小 S ...

【转载】Innodb共享表空间VS独立表空间

http://www.mysqlsupport.cn/innodb%E5%85%B1%E4%BA%AB%E8%A1%A8%E7%A9%BA%E9%97%B4vs%E7%8B%AC%E7%AB%8B%E ...

随机推荐

having 子句

having 子句-->过滤分组,用于限制分组显示结果 a.行已经被分组 b.使用了分组函数 c.满足having子句中条件的分组将被重写

Android WebView支持WebGL

Android从5.0开始默认支持WebGL,我在实际开发中遇到了一些5.0设备不支持的情况,原来Chromium对运行GPUs不稳定的或者有兼容性问题的设备会禁用WebGL.在Android平台可以 ...

cocos2d-x -------之笔记篇 动画的实现

cocos2d-x 动画的实现 一.实现原理 动画的实现其实就是使用一个完整的动作图片集来实现动画,达到动态的效果 动画动作类(CCAnimate)是加载一个动画类来实现动作. 动画类(CCAnima ...

Oracle同义词 synonyms

Oracle中的同义词: 总结:简单的一句话,Oracle中不同用户的表一般都只能够自己的所属的用户可以用,如果不想通过授权的方式授权给其他用户使用,那么创建表的时候在表名的前面加上 synonyms ...

【转】Android 工程在4.0基础上混淆

Android现在对安全方面要求比较高了,我今天要做的对apk进行混淆,用所有的第三方工具都不能反编译,作者的知识产权得到保障了,是不是碉堡了.   一,首先说明我这是在4.0基础上进行的.   先看 ...

Linq指令执行分析

Linq指令执行分析 一.Linq中IEnumerable的结构 Linq在执行聚合操作和ToXxx系统方法之前,一直都是一个数据源和一串指令(下面的讨论都是基于未执行聚合操作和ToXxx系统方法之前 ...

实体框架—Entity Framework

简称EF,是微软以ADO.NET为基础所发展出来的对象关系对应(ORM)解决方案. EF就是用来处理数据的,与数据库打交道.但是底层还是用到了ADO.NET的那一套东西. 为什么叫对象关系对应解决方案 ...

API gateway 之 kong 安装

kong安装: https://getkong.org/install/centos/ 下载指定版本rpm: wget https://bintray.com/kong/kong-community- ...

重大发现 springmvc Controller 高级接收参数用法

1.  数组接收 @RequestMapping(value="deleteRole.json") @ResponseBody public Object deleteRole(S ...

iOS 技能分类:

1.语言与系统: 2.架构与机制: 3.性能:cpu.gpu.io.缓存.内存:性能监测工具: 4.知名开源库:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值