Я пытаюсь вывести содержимое таблицы в файл csv с помощью инструкции MySQL SELECT INTO OUTFILE. Если я сделаю:
SELECT column1, column2
INTO OUTFILE 'outfile.csv'
FIELDS TERMINATED BY ','
FROM table_name;
outfile.csv будет создан на сервере в том же каталоге, в котором хранятся файлы этой базы данных.
Однако, когда я изменяю свой запрос на:
SELECT column1, column2
INTO OUTFILE '/data/outfile.csv'
FIELDS TERMINATED BY ','
FROM table_name;
Я получаю:
ERROR 1 (HY000): Can't create/write to file '/data/outfile.csv' (Errcode: 13)
Errcode 13 - ошибка прав доступа, но я получаю ее, даже если я изменю владельца / data на mysql: mysql и предоставлю ему 777 разрешений. MySQL работает как пользователь "mysql".
Странно, но я могу создать файл в / tmp, но не в каком-либо другом каталоге, который я пробовал, даже с такими разрешениями, которые позволят пользователю mysql писать в каталог.
Это MySQL 5.0.75, работающий в Ubuntu.