在 MySQL 中清理和缩小 ibdata1 文件
在 R 中利用 MySQL 进行数据分析时,用户可能会遇到 ibdata1 文件大小的问题尽管没有存储数据,但仍过度增长。本文针对这个问题并提供了全面的解决方案。
ibdata1 文件增长的原因
ibdata1 文件包含存储在共享表空间中的表的数据和索引。默认情况下,MySQL 将所有表存储在这个单个文件中,导致它不断扩展。删除数据库和表只会从服务器中删除其元数据,但文件本身保持不变。
解决方案:启用单独的每个表文件
以避免 ibdata1为了防止文件过度增长,配置 MySQL 将每个表及其索引存储为单独的文件。现在 MySQL 5.6.6 及更高版本中默认启用此功能。如果使用早期版本,请将以下行添加到 my.cnf 文件中:
[mysqld] innodb_file_per_table=1
这将确保新创建的数据库和表使用单独的 ibd* 文件而不是 ibdata1。
从 ibdata1 回收空间
要释放 ibdata1 占用的空间,请按照以下步骤操作步骤:
此过程将删除所有表和数据,因此请确保您在继续之前已备份必要的信息。
关于信息模式的注意事项
information_schema 是只读视图的集合,而不是实际的表格。它不占用磁盘上的任何文件,并在重新启动MySQL时重新生成。因此,删除它对 ibdata1 文件大小没有影响。
以上是如何减小 MySQL ibdata1 文件的大小?的详细内容。更多信息请关注PHP中文网其他相关文章!