无法创建/写入文件“/tmp/#sql_xxxx.MYI”(错误代码:13)

无法创建/写入文件“/tmp/#sql_xxxx.MYI”(错误代码:13)

我已经安装了 Debian Lenny、PHPmyadmin 和 postfix。

当使用 PHPmyadmin GUI 并访问任何包含数据的表时,我得到:

无法创建/写入文件“/tmp/#sql_xxxx.MYI”(错误代码:13)

执行错误 13 说:

OS error code  13:  Permission denied

我发现 tmpdir 如下:

mysqladmin -p variables | grep -w tmpdir
| tmpdir                          | /tmp

现在这意味着 mysql 无法写入 /tmp。将权限设置为 :777 可以解决这个问题。但我觉得这样做不对。有没有更好的方法/解决方法?

我应该更改 tmpdir 的值吗/etc/mysql/my.cnf

答案1

看起来您对 /tmp 的权限是错误的。对于设置了粘性位的每个人来说,它们实际上应该是读/写/执行的。

chmod 1777 /tmp

粘性位对其他用户与非他们创建或拥有的文件的交互方式添加了一些限制,因此无需担心。

如果您愿意,您还可以创建一个由 mysql 用户拥有并可写入的单独目录,并在 my.cnf 中指定使用该目录,而不是系统范围的 /tmp。

答案2

通常情况下,/tmp 目录对每个人都是可写的。您不必担心这一点。另外,设置了粘性位,因此只有 root 和文件所有者可以删除该文件。

chmod 777 /tmp
chmod o+t /tmp

祝你今天过得愉快

相关内容