Próbuję zrzucić zawartość tabeli do pliku CSV przy użyciu instrukcji MySQL SELECT INTO OUTFILE. Jeśli zrobię:
SELECT column1, column2
INTO OUTFILE 'outfile.csv'
FIELDS TERMINATED BY ','
FROM table_name;
Plik outfile.csv zostanie utworzony na serwerze w tym samym katalogu, w którym przechowywane są pliki tej bazy danych.
Jednak gdy zmieniam zapytanie na:
SELECT column1, column2
INTO OUTFILE '/data/outfile.csv'
FIELDS TERMINATED BY ','
FROM table_name;
Dostaję:
ERROR 1 (HY000): Can't create/write to file '/data/outfile.csv' (Errcode: 13)
Errcode 13 to błąd uprawnień, ale otrzymuję go, nawet jeśli zmienię własność / data na mysql: mysql i nadam mu 777 uprawnień. MySQL działa jako użytkownik „mysql”.
O dziwo mogę utworzyć plik w / tmp, ale nie w żadnym innym katalogu, którego próbowałem, nawet z uprawnieniami ustawionymi tak, że użytkownik mysql powinien mieć możliwość zapisu w katalogu.
To jest MySQL 5.0.75 działający na Ubuntu.
/tmp
.