如何管理 MySQL 中的 Ibdata1 文件大小
MySQL 的 ibdata1 文件存储重要数据,但在某些使用模式下可能会过度增长。这可能会成为问题,特别是当将 MySQL 用于特定目的(例如查询工具应用程序)时。
Ibdata1 文件增长的原因
当使用 MySQL 作为查询工具时,创建和频繁删除数据库和表可能会导致 ibdata1 文件快速增长。这是因为 MySQL 通常默认将表的数据和索引存储在 ibdata1 文件中。
用于管理 Ibdata1 文件大小的选项
自 MySQL 版本起5.6.6、MySQL支持每个表使用单独的文件。启用此功能可防止 ibdata1 文件过度增长。为此,请将以下行添加到 my.cnf 文件中:
innodb_file_per_table=1
要回收已使用的空间通过 ibdata1,请按照以下步骤操作:
重启 MySQL 后,将重新创建 ibdata1 和 ib_log 文件。
使用 ALTER TABLE 或 OPTIMIZE TABLE 命令,您可以从 ibdata1 中提取数据和索引页到单独的文件中。但是,除非您按照上述方式执行完全清除,否则 ibdata1 不会收缩。
关于 Information_Schema 的注意事项
Information_schema 无法删除,并且不需要自己的文件存储,因为它使用内存数据库引擎,并在 MySQL 启动/停止时创建/销毁。
以上是如何控制 MySQL ibdata1 文件的大小?的详细内容。更多信息请关注PHP中文网其他相关文章!