MySQL /写入文件错误(错误代码28)

Zab*_*abs 78 mysql logging

我的一个Web应用程序出现以下错误 -

Query3 failed: Error writing file '/tmp/MY1fnqpm' (Errcode: 28) ... INSERT MailList... (removed the rest of the query for security reasons)
Run Code Online (Sandbox Code Playgroud)

任何想法 - 这是我的服务器上的一些硬盘空间问题?

Arn*_*anc 112

使用perror命令:

$ perror 28
OS error code  28:  No space left on device
Run Code Online (Sandbox Code Playgroud)

除非系统上的错误代码不同,否则文件系统已满.

  • "你的文件系统已满".在哪一边?db server还是db client? (7认同)

小智 20

我们遇到过类似的问题,问题是MySQL使用/ tmp目录满足其需求(默认配置)./ tmp位于自己的分区上,对于大型MySQL请求而言空间太小.

有关详细信息,请查看以下答案:https: //stackoverflow.com/a/3716778/994302


小智 15

我有同样的问题,但磁盘空间还可以(只有40%满).问题是inode,我有太多的小文件,我的inode已满.

您可以使用df -i检查inode状态

  • 同样的问题在这里 你是怎么解决的? (5认同)

小智 9

该错误意味着您没有足够的空间来创建MySQL所需的临时文件.

您可以尝试的第一件事是扩展/tmp/分区的大小.如果您在LVM下,请检查该lvextend命令.

如果您无法增加分区的大小,则/tmp/可以在MySQL配置中工作,编辑my.cnf(通常在on /etc/mysql/my.cnf)文件并查找以下行:

tmpdir = /tmp/

根据你的需要改变它(例子/var/tmp/).只需确保有空间并为新目录中的mysql用户分配写权限.

希望这可以帮助!