首页 运维干货MySQL独立表空间管理

MySQL独立表空间管理

运维派是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai

MySQL独立表空间管理

原创作者:老A
原创地址:https://dbawsp.com/1853.html

MySQL的Innodb存储引擎包含两种表空间文件模式,默认的共享表空间和每个表分离的独立表空间,每个表都有自已独立的表空间,每个表的数据和索引都会存在自已的表空间中,可以实现单表在不同的数据库中移动。

每个表都有自已独立的表空间,每个表的数据和索引都会存在自已的表空间中,可以实现单表在不同的数据库中移动。

空间可以回收(除drop table操作处,表空不能自已回收),Drop table操作自动回收表空间,如果对于统计分析或是日值表,删除大量数据后可以通过:alter table TableName engine=innodb;回缩不用的空间。

对于使用独立表空间的表,不管怎么删除,表空间的碎片不会太严重的影响性能,而且还有机会处理。

普通建表语句

查看数据目录内容

  • auto.cnf文件是MySQL第一次启动时生成的uuid值
  • ib_buffer_pool文件是MySQL启动时加载缓存数据到内存区域
  • ibdata1文件时存放系统表空间数据,在5.7版本及之前undo log也存放与该文件
  • ib_logfile0 ib_logfile1文件是MySQL的重做日志存放文件,默认两个,循环使用
  • ibtmp1是存放临时表数据的,比如join操作结束后就会删除临时表
  • mysql为MySQL用户信息与权限信息等、performance_schema为MySQL性能库 、sys为MySQL系统信息库
  • test库为用户自行创建的库

指定表空间创建表

查看数据目录内容

  • InnoDB存储引擎:frm文件是表结构元数据文件
  • InnoDB存储引擎:ibd文件是存储数据的文件(独立表空间模式),如果是共享表空间模式将存储在ibdata文件

指定外部表空间创建表

查看数据目录内容

  • isl文件是一个链接文件,里面记录表空间ibd文件存放的路径

指定表空间目录创建表

查看数据目录内容

使用系统表空间创建一张表

查看数据目录内容

分别删除库和表空间并且查看原始数据

  • 最终效果:表空间存放路径可以自由设置,某一张大数据量的表也可以指定存放某个表空间或者某一个挂载到系统目录中的大磁盘存储。

本文链接:http://www.yunweipai.com/34285.html

上一篇:

Kafka原理详解

下一篇:

Mysql中间件代理

网友评论comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2012-2020 YUNWEIPAI.COM - 运维派
扫二维码
扫二维码
返回顶部