Não é possível criar um arquivo em um determinado local no Ubuntu

0

Estou tentando criar um arquivo de texto como abaixo ...

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

Que exibe um erro;

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

Eu tentei criar o arquivo em /tmp/file.txt e ele funciona, mas, novamente, não consigo mover nem excluir o arquivo como diz;

Operation not permitted

Alguma idéia?

    
por Geek Grid 22.01.2014 / 14:36

1 resposta

0

O MySQL é executado pelo usuário mysql . Se você quiser que um script MySQL grave na home do usuário usuário , você precisa fornecer as permissões corretas para mysql . Por exemplo, você pode passar a propriedade da pasta feeds para mysql :

chown mysql:mysql /home/user/feeds

Ou para passar a propriedade do arquivo de texto:

touch /home/user/feeds/file.txt

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

    
por Luís de Sousa 22.01.2014 / 15:49