mysql数据库.ibd文件大小

时间:2011-03-30 17:19:48

标签: mysql performance storage

MySQL .ibd文件已增长到3 TB以上,我的RedHat框不再支持添加更多磁盘空间。

问题

  • 如何扩展数据库存储?
  • 哪些最佳做法可以解决此问题?

注意:我每个表使用一个.ibd文件,并有几个巨大的表。

1 个答案:

答案 0 :(得分:3)

如果您只是存储数据,则/var/lib/mysql的数据装载应为5TB SATA驱动器。如果您的应用程序写得很重,那么/var/lib/mysql的数据安装应该是5TB SAS驱动器RAID10。

如果无法升级磁盘,则需要以三种方式之一进行定期表碎片整理:

  1. ALTER TABLE myinnodbtable ENGINE=InnoDB;
  2. OPTIMIZE TABLE myinnodbtable;
  3. 自定义表的碎片整理
  4. 您可以按如下方式手动执行此碎片整理:

    CREATE TABLE myinnodbtemptable LIKE myinnodbtable;
    INSERT INTO myinnodbtemptable SELECT * FROM myinnodbtable;
    ALTER TABLE myinnodbtable RENAME myinnodbtableold;
    ALTER TABLE myinnodbtemptable RENAME myinnodbtable;
    DROP TABLE myinnodbtableold;
    

    如果InnoDB表有约束,则选项3不起作用,因为约束将消失。