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