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) 执行 'SELECT INTO OUTFILE' 时
我怎样才能在 Windows 上修复它?我对这个用户没有任何限制...
Windows error 13 is "permission denied". Maybe the file already exists and you can't delete it which would be required to create a new file with that name.
可能的原因:
这是我mysqldump
与用户一起运行时的输出work
$ 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
是由 user 创建的,work
但test.txt
是由 user 创建的mysql
,所以“权限被拒绝!”。在这种情况下,您应该 chmod 您的目录。
--tab 最好只用于转储本地服务器。如果将它与远程服务器一起使用,则--tab 目录必须存在于本地和远程主机上,并且 .txt 文件将由服务器写入远程目录(在服务器主机上),而 .sql文件将由 mysqldump 写入本地目录(在客户端主机上)。
您需要 FILE 权限才能被允许使用 SELECT...INTO OUTFILE,这似乎是 mysqldump --tab 用来生成制表符分隔转储的内容。
此特权是全局的,这意味着它只能被授予“ON ”。:
GRANT FILE ON *.* TO 'backup'@'%';
我在 win7 和 Wn2008 R2 上遇到了类似的错误——错误 13“权限被拒绝”。尝试了所有建议的解决方案均无效。
我创建了一个文件夹,例如 c:\temp 并完全控制登录用户。问题解决了。
右键单击目标文件夹 --> 属性 --> 安全 --> 编辑... ,确保权限在活动用户下是可编辑的。
我观察到,即使在活动用户下,如果目标文件夹的“允许”权限为灰色,也会出现此问题。创建新文件夹并授予完全控制权后,所有权限都是可编辑的,不再出现权限错误。
最初的几个想法:是否有足够的空间?mysql有写那里的权限吗?
我发现的另一件事:在防病毒软件中“关闭”对 windows/temp 文件夹的扫描为我解决了这个问题。
希望能帮助到你
我有一个类似的问题,并通过向目标文件夹添加“每个人”权限来解决它。