nginx tmp 文件夹磁盘空间不足

nginx tmp 文件夹磁盘空间不足

我收到 mysql 磁盘空间错误

Can't create/write to file '/tmp/#sql_777_0.MYI' (Errcode: 28)

主要是因为我的 ngnix 服务器正在将文件写入未清理的 tmp 文件夹。

我按照 nginx 手册上的说明将此命令添加到 crontab 中,但似乎没有起到作用,(我也不明白它的作用)

0 */1 * * *   /usr/sbin/tmpwatch -am 1 /tmp/nginx_client

然后我必须手动执行这个命令

cd /tmp/nginx_client
find -name * | xargs rm

我需要知道什么

  1. 我应该做些什么来自动完成这个清理工作?
  2. 有没有办法可以增加 /tmp/ -> /var/tmp/ 的大小,而无需重新格式化或做任何危险的事情?
  3. 我可以更改 MYSQL -> TMP 文件的位置吗?

答案1

最好更改 mysql tmp 目录的位置。您可以在 my.cnf 文件中设置以下内容

[mysqld]
tmpdir=/some/path/to/tmpdir

确保 mysql 用户也对此目录具有读/写权限。如果要创建更大的分区,您可以随时 dd 文件。mkfs 该文件并将其挂载为分区。也就是说,如果您想设置上限,以便 mysql tmp 文件不会占用所有可用空间。

您的更大问题可能是您的查询,但是如果它们在您的 tmp 位置使用了那么多空间,那么您进行的一些大规模连接可能会影响性能。

相关内容