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


9

我已经安装了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吗?


感谢您包含mysqladmin输出。我现在使用它为MySQL捐赠了专用的tmpdir,从而增加了一点安全性。
Florian Heigl 2014年

Answers:


20

看来您对/ tmp的权限是错误的。设置了粘性位的每个人都应该对它们进行读/写/执行。

chmod 1777 /tmp

粘性位为其他用户如何与非用户创建或拥有的文件进行交互添加了一些限制,因此无需担心。

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


非常感谢您:“ chmod 1777 / tmp”粘滞位1是我不知道的东西,它使我丧命,因为我不知为何花了很多时间。现在,我非常感谢您发布此“ chmod 1777 / tmp”

3

通常,/ tmp目录对每个人都是可写的。您不必为此担心。另外设置了sticky位,以便只有root用户和文件所有者才能删除该文件。

chmod 777 / tmp
chmod o + t / tmp

祝你今天愉快


有人知道粘性位的八进制数字吗?
grub

是的,第一个八进制是1。
罗伊,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.