我知道 stackexchange 网站上已经有几个关于 Linux 权限的帖子,但我找不到我的问题的答案。
我在自己的笔记本电脑上(没有 Web 服务器或任何东西)使用 mySQL。我直接从控制台客户端使用 mySQL。通常,我想运行查询并将结果保存到其他地方,以便在 LibreOffice 或其他地方进一步工作。我使用select ... into outfile 'path+file';
。即使我以自己的身份登录,也无法将输出文件保存到我的~/Downloads/
目录中,我将其用作临时目录。我知道 mySQL 服务器是在特殊用户下运行,而不是我。由于我是这里唯一的真正用户,我执行了sudo chmod 7777 ~/Downloads
,并看到它现在显示drwsrwsrwt
。chmod 之后,我重新启动了服务器。但是,当我以我的身份登录 mySQL 时,如果我尝试输出到此文件夹,仍然会得到结果。以 root 身份登录后,运行相同的命令时ERROR 1045 (28000): Access Denied...
会得到结果。ERROR 1 (HY0000): Can't create/write to file ...
因此,我只能以 root 身份登录,将数据导出到/tmp/
,然后sudo cp
从另一个终端获取数据。有什么建议可以解决这个问题吗?
答案1
我正在做同样的事情,也遇到了类似的错误。然后我意识到我的路径并不完全正确。给它正确的路径,一切就都好了。如果你真的使用“~/Downloads”作为路径,我认为这是不正确的。更可能是“~drew/Downloads”之类的东西。您也可以尝试使用下载目录的完整路径。
道明