Я пытаюсь сбросить содержимое таблицы в файл 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.
/tmp
.