MySQL 变量 innodb_file_per_table 生产激活

MySQL varaible innodb_file_per_table in production activate

我有一个 MySQL-Server 5.5,每个 table.

中有大约 5.000.000 条记录

现在我想激活变量"innodb_file_per_table = 1"。

这可能吗? 这样做有什么风险吗?

原因是激活选项,是为了优化性能。

感谢和问候 克里斯

有可能。所有优点和可能的缺点都在官方中提到 docs 此外,您应该注意,只有新的 table 会在单独的 table 空间中创建,或者您可以重建任何现有的 table 以从共享 table 空间移动。

innodb_file_per_table 是一个动态变量——更改它可以安全地完成,甚至无需重新启动服务器...但最大的警告是您永远无法回收磁盘 space 消耗的磁盘ibdata 文件。

在启用设置的情况下重建的表将有自己的 tablespace 文件,但是 ibdata1 不能在没有转储的情况下收缩,然后删除 ibdata1 并重新初始化服务器,然后重新加载所有数据。

"Performance" 不一定是在工作服务器上更改设置的正当理由。