无法在 Ubuntu 上的某个位置创建文件

无法在 Ubuntu 上的某个位置创建文件

我正在尝试创建如下的文本文件......

mysql --host=localhost --user=root --password=11111 database1 << EOF
SELECT *
FROM table
WHERE status = 1
INTO OUTFILE '/home/user/feeds/file.txt'
FIELDS TERMINATED BY '|'
ENCLOSED BY ''
LINES TERMINATED BY '\n'
EOF

显示错误;

ERROR 1 (HY000) at line 1: Can't create/write to file '/home/user/feeds/file.txt' (Errcode: 13)

我尝试创建该文件/tmp/file.txt并且它可以工作,但是我无法移动或删除该文件,正如它所说的那样;

Operation not permitted

有任何想法吗?

答案1

MySQL 运行于mysql用户。如果你想让 MySQL 脚本写入用户用户的主页,你需要提供正确的权限mysql。例如,您可以将文件夹的所有权转让feedsmysql

chown mysql:mysql /home/user/feeds

或者传递文本文件的所有权:

touch /home/user/feeds/file.txt

chown mysql:mysql /home/user/feeds/file.txt

相关内容