目前,我有一个带有MySQL的innodb_file_per_table = 0
服务器
基于许多因素,我将其改为innodb_file_per_table = 1
似乎是有意义的
我明白要让这一切都成功我需要
innodb_file_per_table
设置问题是,我可以这样做吗?
innodb_file_per_table
设置直到我导出了一个重新导入的所有数据库?
我假设在过渡期间,一些数据库将继续使用ibdata1文件,而导出和重新导入的数据库将使用它们自己的数据存储。混合数据存储会导致问题吗?还是我可以分阶段进行转换?
发布于 2020-12-17 19:54:33
对不起,我没有关于何时以不同的方式设置innodb_file_per_table
的参考。以下是一些建议:
innodb_file_per_table
的值仅适用于后续的CREATE TABLEs
或表重建。ALTERed
的“大”表,或者您可能做了大量的删除等操作时,最好使用file_per_table构建表。这允许操作替换只包含一个表的.ibd文件。ibdata1
)。ALTER TABLE t ENGINE=InnoDB;
,它可能需要FORCE
)。在此之后,考虑更改设置。ibdata1
(可能有大量空闲空间)和单独的.ibd文件之间移动选定的表来玩游戏。INSERTs
和ibdata1表上的其他操作所使用。OPTIMIZE TABLE
对于InnoDB表来说是不必要的。发布于 2020-12-17 01:12:12
老实说,除非你有一个具体的问题要解决,否则我不会费心的。
可以通过以下方式做得更简单:
ALTER TABLE xxx FORCE
https://dba.stackexchange.com/questions/281698
复制相似问题