在MySQL中清理和缩小ibdata1文件
在R中利用MySQL进行数据分析时,用户可能会遇到ibdata1文件大小的问题尽管没有存储数据,但仍过度增长。本文针对这个问题,提供了全面的解决方案。
ibdata1文件增长的原因
ibdata1文件包含共享表空间中存储的表的数据和索引。默认情况下,MySQL 将所有表存储在这个单个文件中,导致它不断扩展。删除数据库和表只会从服务器中删除其元数据,但文件本身保持不变。
解决方案:启用“Separate File-per-Table”
以避免 ibdata1为了防止文件过度增长,配置 MySQL 将每个表及其索引存储为单独的文件。现在 MySQL 5.6.6 及更高版本中默认启用此功能。如果使用早期版本,请将以下行添加到 my.cnf 文件中:
[mysqld] innodb_file_per_table=1
这将确保新创建的数据库和表使用单独的 ibd* 文件而不是 ibdata1。
从 ibdata1 回收空间
To释放ibdata1占用的空间,步骤如下:
这个该过程将删除所有表和数据,因此请确保在继续之前备份了必要的信息。
信息架构注意事项
information_schema 是读取的集合只有视图,而不是实际的表。它不占用磁盘上的任何文件,并在重新启动MySQL时重新生成。因此,删除它对 ibdata1 文件大小没有影响。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3