var lib mysql是什么文件_什么是/ var / lib / mysql目录中的ibdata1文件?

文件ibdata1是InnoDB基础结构的系统表空间.

它包含几个对InnoDB至关重要的信息类

>表数据页面

>表索引页面

>数据字典

> MVCC控制数据

>撤消空间

>回滚段

>双写缓冲区(后台编写的页面,以避免操作系统缓存)

>插入缓冲区(对二级索引的更改)

请注意ibdata1在InnoDB Universe(右侧)的位置

您可以通过启用innodb_file_per_table将数据和索引页与ibdata1分开.这将导致任何新创建的InnoDB表将数据和索引页存储在外部.ibd文件中.

> datadir是/ var / lib / mysql

> CREATE TABLE mydb.mytable(…)ENGINE = InnoDB;,创建/var/lib/mysql/mydb/mytable.frm

> innodb_file_per_table已启用,数据/索引页面存储在/var/lib/mysql/mydb/mytable.ibd中

> innodb_file_per_table已禁用,数据/索引页存储在ibdata1中

无论InnoDB表存储在何处,InnoDB的功能都需要查找表元数据并存储和检索MVCC信息以支持ACID compliance和Transaction Isolation.

以下是我过去关于从ibdata1分离表数据和索引的文章

接下来做什么

你可以继续让ibdata1存储所有东西,但这使得做LVM快照真是苦差事(我的个人意见).

您需要使用My StackOverflow帖子并永久缩小该文件.

请运行此查询:

SELECT

((POWER(1024,3)*94 - InnoDBDiskDataAndIndexes))/POWER(1024,3) SpaceToReclaim

FROM

(SELECT SUM(data_length+index_length) InnoDBDiskDataAndIndexes

FROM information_schema.tables WHERE engine='InnoDB') A;

这将说明在应用InnoDB清理后可以回收多少浪费的空间.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值