【问题标题】:Deleting file created from mysql删除从mysql创建的文件
【发布时间】:2012-11-02 14:53:54
【问题描述】:

我在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权限。

【问题讨论】:

  • 您是否尝试过使用您的 mysql 管理员用户?
  • 我不太喜欢这个,但是,你能得到一些资助吗?!!!就像,授予所有特权......
  • 请在问题中添加unix标签,它可能会吸引活跃的unix用户,他们可能对此问题有很好的了解。
  • 如果您的主机允许,您是否尝试过使用 SFTP 登录,我在使用 MySQL 备份文件时遇到了类似的问题,但 SFTP 授予您更大的权限(取决于您所在的主机)

标签: mysql sql permissions filesystems mysqldump


【解决方案1】:

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

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

echo " " > /tmp/results.out

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-31
      • 2012-01-29
      • 1970-01-01
      • 2013-06-10
      • 2013-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多