我正在尝试创建如下的文本文件......
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。例如,您可以将文件夹的所有权转让feeds
给mysql:
chown mysql:mysql /home/user/feeds
或者传递文本文件的所有权:
touch /home/user/feeds/file.txt
chown mysql:mysql /home/user/feeds/file.txt