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" 不一定是在工作服务器上更改设置的正当理由。
我有一个 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" 不一定是在工作服务器上更改设置的正当理由。