Я пытаюсь создать текстовый файл, как показано ниже ...
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
Есть идеи?
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