【问题标题】:Mysqldump doesn't want to export dataMysqldump 不想导出数据
【发布时间】:2013-04-21 04:48:27
【问题描述】:

C:\Projects\k>mysqldump --tab=c:\temp\multifile -ps -us s mysqldump: Got error: 1: Can't create/write to file 'c:\temp\multifile\archive.txt' (Errcode: 13) when execution 'SELECT INTO OUTFILE'

如何在 Windows 上修复它?我对这个用户没有任何限制...

【问题讨论】:

标签: mysql windows mysqldump


【解决方案1】:

Windows 错误 13 是“权限被拒绝”。也许该文件已经存在并且您无法删除它,这需要创建一个具有该名称的新文件。

【讨论】:

    【解决方案2】:

    可能的原因:

    1. 这是我使用用户 work 运行 mysqldump 时的输出

      $ ll
      total 908
      -rw-rw-r-- 1 work  work    1824 Apr 28 14:47 test.sql
      -rw-rw-rw- 1 mysql mysql 922179 Apr 28 14:47 test.txt
      

      test.sql 是由用户 work 创建的,但 test.txt 是由用户 mysql 创建的,所以“权限被拒绝!”。在这种情况下,您应该 chmod 您的目录。

    2. --tab 最好只用于转储本地服务器。如果将它与远程服务器一起使用,则--tab 目录必须存在于本地和远程主机上,并且 .txt 文件将由服务器写入远程目录(在服务器主机上),而 .sql文件将由 mysqldump 写入本地目录(在客户端主机上)。

      参考:Dumping Data in Delimited-Text Format with mysqldump

    3. 您需要 FILE 权限才能被允许使用 SELECT...INTO OUTFILE,这似乎是 mysqldump --tab 用来生成制表符分隔转储的方法。

      此权限是全局的,这意味着它只能被授予“ON .”:

      GRANT FILE ON *.* TO 'backup'@'%';
      

      参考:Which are the proper privileges to mysqldump for the Error Access denied when executing 'SELECT INTO OUTFILE'.?

    【讨论】:

      【解决方案3】:

      最初的几个想法:是否有足够的空间? mysql有权限写吗?

      我发现的另一件事:在防病毒软件中“关闭”对 windows/temp 文件夹的扫描解决了我的问题。

      希望对你有帮助

      【讨论】:

        【解决方案4】:

        我在 win7 和 Wn2008 R2 上遇到了类似的错误——错误 13“权限被拒绝”。尝试了所有建议的解决方案均无效。

        我创建了一个文件夹,例如 c:\temp 并完全控制登录用户。问题解决了。


        右键目标文件夹 --> 属性 --> 安全 --> 编辑... ,确保权限在活动用户下是可编辑的。

        我观察到即使在活动用户下,如果目标文件夹的“允许”权限为灰色,也会出现此问题。创建新文件夹并授予完全控制权后,所有权限都是可编辑的,不再出现权限错误。

        【讨论】:

          【解决方案5】:

          我遇到了类似的问题,并通过向目标文件夹添加“所有人”权限来解决它。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-08-16
            • 2013-02-06
            • 2013-03-21
            • 2020-10-16
            • 1970-01-01
            • 1970-01-01
            • 2013-09-15
            相关资源
            最近更新 更多