减少 Mutt 存储大小后,如何将该存储反映回 df

减少 Mutt 存储大小后,如何将该存储反映回 df

我的目标是取回我的 opt 目录中的存储空间。我希望能够看到它的尺寸不断增大,以便定期维护检查意味着我可以在需要空间时缩小它的尺寸。

在我从 mutt 删除邮件之前,我得到了这个磁盘大小输出(缩写):

Filesystem          1K-blocks      Used Available Use% Mounted on
/dev/sda1            38314216  12189488  24155376  34% /
/dev/sda3           144053404 133666076   3046736  98% /opt
192.168.1.161:/home 237256704  51089408 175959040  23% /opt/www/etl/sftp-homes

光驱空间不足(如上所述):

所以我删除了旧电子邮件(日志记录),使用这个

>mutt
shift + D
~d>4m
q

这看起来像是在 mutt 中起作用,因为 mutt 似乎完成了删除所述文件的工作。但 df 没有给我任何空间,它仍然是完全相同的。我假设 mutt 保存了文件大小并且可能需要重新启动???或者 mariadb 需要重新启动/清理以释放数据库大小???还是Centos需要重启??? (似乎很极端)我如何重新获得该磁盘空间,或者这里是否有其他清理解决方案。

仅供参考,我找不到重新启动 mutt 的方法?并且重新启动 mariadb 不起作用。文件的大部分内容保存在 ibdata1 中

答案1

这似乎是 mariadb 的问题。

https://stackoverflow.com/questions/3456159/how-to-shrink-purge-ibdata1-file-in-mysql

https://www.thegeekstuff.com/2016/02/mysql-innodb-file-per-table/

这里有详细说明同样的问题,而且太难了:默认的大 MySQL 系统表空间方法有一个主要缺点。

以此场景为例:您已将 100GB 的数据上传到 MySQL 中的多个表中。

现在,ibdata1 文件大小将约为 100GB 以上。

# cd /var/lib/mysql

# ls -lh ibdata1
-rw-r-----. 1 mysql mysql 101G Jan 21 21:10 ibdata1

几天后,您从所有这些表中删除了大约 50GB 的数据。 ibdata1文件大小不会减少到50GB+左右,仍会保持在100GB+左右。

在上述情况下,稍后当您向表中添加 10GB 的数据时,ibdata1 文件大小不会增长到 110GB,而是保持在 100GB。因为,该文件内部仍然有上述 50GB 已删除数据中未使用的空间。

问题是,从 ibdata1 文件中删除 50GB 数据后,您无法回收那些未使用的空间。有一种方法可以做到这一点,但太复杂了,需要关闭 MySQL 数据库,并删除所有表等。

相关内容