在 MySQL 中切换到 `innodb_file_per_table`

在 MySQL 中切换到 `innodb_file_per_table`

如果我打开innodb_file_per_table(当前未激活),它会破坏我现有的表格吗?

答案1

不,但是您需要执行 SQL 转储并重新加载或者优化表,然后才能将现有表移至其自己的文件。

当然,与任何大型架构变更一样,请确保在实施变更之前获得良好的备份。

答案2

即使切换到 innodb_file_per_table,也必须从 ibdata1 中提取 ibdata1 中的 InnoDB 表。不幸的是,您无法收回该空间。

你必须彻底改造 InnoDB 基础设施以便 innodb_file_per_table 为您工作。@BMDan 已经在他的评论中提到了这一点。

相关内容