14

我在mysql中执行了查询

select * into outfile "/tmp/results.out" from table_x;

进而将该表中的所有记录写入 /tmp 目录中的文件。该文件是使用以下权限创建的。

-rw-rw-rw- 1 mysql mysql 6.6K Nov 14 10:14 /tmp/results.out

我知道无法从我的登录名中删除此文件。但我尝试从 MySQL 中删除它,但我收到以下错误消息:

mysql> system rm /tmp/results.out
rm: cannot remove `/tmp/results.out': Operation not permitted

PS:我没有root权限。

4

2 回答 2

1

该文件的所有者组是 mysql。请使用该id命令找出该组的另一个用户并尝试将其删除。您用于删除文件的用户 ID 似乎对 tmp 目录没有写入权限。

你能截断文件的内容吗?请仅在您不希望 /tmp/ 中的 results.out 文件时执行此操作

echo " " > /tmp/results.out
于 2012-11-14T08:24:05.137 回答
0

您总是可以像创建文件一样用小而无害的东西覆盖文件。

Unix 系统上的常见做法是在重新启动时清除 /tmp/*,因此它也不会永远留在那里。

于 2013-01-23T20:37:43.373 回答