Linux。没有 SELinux(已禁用)。 我尝试以我的 linuxuser(mysql 组成员)身份运行此命令:
mysqldump --user=root --tab "/some/folder"dbname
收到此错误:
mysqldump:出现错误:1:执行“SELECT INTO OUTFILE”时“无法创建/写入文件“sometable.txt”(错误代码:13“权限被拒绝”)”
如果我查看该文件夹,会发现有一个 sometable.sql
文件,但没有 txt 文件。
据我了解,sql 文件是根据运行命令的用户名(在本例中为 linuxuser)创建的,但 txt 文件是由 mysql 服务器(在本例中为 mysql 用户)生成的。请注意,mysql 用户也是 mysql 组的成员。
可能是什么问题?尝试了一切:)
最佳答案
如果您尝试在与服务器不同的客户端中执行 mysqldump 可能是个问题 我尝试使用适用于 Linux (x86_64) 的 mysqldump Ver 10.14 Distrib 5.5.56-MariaDB,并且仅适用于/tmp/目录。 也许,帮助信息说这行不通
-T, --tab=name Create tab-separated textfile for each table to given path. (Create .sql and .txt files.) NOTE: This only works if mysqldump is run on the same machine as the mysqld server.
关于mysqldump : Got error: 1: "Can' t create/write to file '*.txt' (Errcode: 13 "Permission denied" )"when executing ' SELECT INTO OUTFILE',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41299489/