在MySQL中切换到`innodb_file_per_table`

如果我打开innodb_file_per_table (目前不活跃),它会破坏我现有的表?

不,但是你需要做一个sql转储,重新加载或者优化表格,然后把现有的表格移到自己的文件中。

当然,就像任何大的体系结构变化一样,确保在实施更改之前先取得一个好的备份。

即使切换到innodb_file_per_table,ibdata1内的InnoDB表也必须从ibdata1中提取。 不幸的是,你不能回收这个空间。

为了使innodb_file_per_table能够为您工作,您必须彻底检查InnoDB基础架构 。 @BMDan在他的评论中已经提到了这一点。