无法创建/写入文件'xxxx.txt'(错误代码:13 - 权限被拒绝)

时间:2013-12-07 21:07:42

标签: mysql macos

mysql> \T abc.txt
./mysql: Can't create/write to file 'abc.txt' (Errcode: 13 - Permission denied)
Error logging to file 'logPremiereQueries.txt'

当我使用Windows 8时遇到同样的问题。我通过以管理员身份运行cmd(MySQL 5.6命令行客户端)来解决它。然后我可以很容易地找到abc.txt的位置。但是,在Mac OS X中,我不知道如何更改权限。如果成功登录文件,在哪里可以找到这个'abc.txt'?有任何想法吗?非常感谢你!

4 个答案:

答案 0 :(得分:2)

将此留在这里以备将来......

如果您使用的是Windows,请打开服务。右键单击mysql服务,选择属性。在属性窗口中,选择Log On选项卡,然后选择Log on as:Local System account。

如果您已准备好,请重新启动该服务,您可以在有权写入的任何地方选择outfile。

答案 1 :(得分:1)

如果在使用tee (\T)命令时没有为文件提供特定路径,mysql将尝试创建或附加到当前工作目录(已启动mysql的目录)中的文件

错误是不言自明的 - 您只是没有权限在当前工作目录中写入文件。

如果您不知道(哪个是奇怪的)您当前的工作目录是什么,您可以从mysql命令提示符执行系统pwd命令

mysql> \! pwd

现在解决问题:

  1. 将终端中的工作目录更改为您具有写入权限的目录(例如您的主目录),然后启动mysql客户端

    $ cd ~
    $ mysql -uusername -p dbname
    
  2. 使用tee (\T)命令时,在mysql提示符下
  3. 指定您具有写入权限的目录的有效路径,例如

    mysql> \T /Users/username/abc.txt
    

答案 2 :(得分:1)

请看 - > https://dev.mysql.com/doc/refman/5.0/en/cannot-create.html

一个修复是使用--tmpdir选项启动mysqld或将选项添加到选项文件的[mysqld]部分。例如,要指定C:\ temp

的目录

答案 3 :(得分:1)

我遇到了这个问题并解决了这个问题。

SELECT * FROM mahitab INTO OUTFILE '/var/lib/mysql-files/mahitab.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINE;
ERROR 1 (HY000): Can't create/write to file '/var/lib/mysql-files/mahitab.csv' (Errcode: 13 - Permission denied)

我们必须获得

的许可
[root@localhost tmp]# chmod 1777 /var/lib/mysql-files/