我一直遇到与 mysql 相同的问题,错误代码为 28,这意味着设备上没有足够的空间。
现在奇怪的部分是有足够的空间,这里有一些我在谷歌上找到的提示,以确定我是否有足够的空间。(请记住,我是 linux 系统的新手)
du -sh /var/log/mysql
36K /var/log/mysql
df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.5G 4.0K 1.5G 1% /dev
tmpfs 604M 224K 604M 1% /run
/dev/disk/by-uuid/7a06472d-4cc9-4383-93b0-4ecee9b21c04
24G 15G 8.4G 64% /
none 5.0M 0 5.0M 0% /run/lock
none 1.5G 0 1.5G 0% /run/shm
/dev/vda1 461M 36M 402M 9% /boot
Run Code Online (Sandbox Code Playgroud)
我一直试图解决这个问题很长时间了,但没有任何帮助,任何建议都会有所帮助。
编辑
最奇怪的部分是,如果我删除 200-800mb 的大文件,此错误会在很短的时间内消失,然后再次返回。我实际上已经删除了大约 10GB 的文件,希望能解决这个问题,但它没有帮助。
小智 9
“设备上没有剩余空间”也可能意味着该分区的 inode 不足。使用df -i检查inode使用。
编辑:每个文件、目录和符号链接都需要一个 inode。所以这个想法是从 / 分区中删除一些文件。文件有多大并不重要。当然,如果您能找到一些方便移动的文件,您当然可以在该分区上选择一些文件并将它们移动到另一个分区。
用完 inode 是不寻常的,因此您可能在某个目录中存在一些您不知道的小文件或零长度文件。不幸的是,我不知道找到这种东西的简单方法。运行find / -xdev将打印分区上每个文件和目录的名称。您也许能够发现一些充满空文件的可疑目录。
如果您可以向系统添加额外的磁盘分区,您可以选择 / 分区上的某个目录并将其设为单独的分区。将该目录中的所有文件复制到新分区,从 / 分区中删除它们,然后将新分区挂载到旧(现在为空)目录的顶部。
核心选项是备份 / 分区,擦除它,然后用更多的 inode 重建它。这是一个高级话题,我不会在这里解释。