如果我打开innodb_file_per_table
(当前未激活),它会破坏我现有的表格吗?
答案1
不,但是您需要执行 SQL 转储并重新加载或者优化表,然后才能将现有表移至其自己的文件。
当然,与任何大型架构变更一样,请确保在实施变更之前获得良好的备份。
答案2
即使切换到 innodb_file_per_table,也必须从 ibdata1 中提取 ibdata1 中的 InnoDB 表。不幸的是,您无法收回该空间。
你必须彻底改造 InnoDB 基础设施以便 innodb_file_per_table 为您工作。@BMDan 已经在他的评论中提到了这一点。