Estoy tratando de volcar el contenido de una tabla en un archivo csv usando una declaración MySQL SELECT INTO OUTFILE. Si lo hago:
SELECT column1, column2
INTO OUTFILE 'outfile.csv'
FIELDS TERMINATED BY ','
FROM table_name;
outfile.csv se creará en el servidor en el mismo directorio en el que se almacenan los archivos de esta base de datos.
Sin embargo, cuando cambio mi consulta a:
SELECT column1, column2
INTO OUTFILE '/data/outfile.csv'
FIELDS TERMINATED BY ','
FROM table_name;
Yo obtengo:
ERROR 1 (HY000): Can't create/write to file '/data/outfile.csv' (Errcode: 13)
Errcode 13 es un error de permisos, pero lo obtengo incluso si cambio la propiedad de / data a mysql: mysql y le doy 777 permisos. MySQL se ejecuta como usuario "mysql".
Curiosamente, puedo crear el archivo en / tmp, pero no en ningún otro directorio que haya probado, incluso con los permisos establecidos de manera que el usuario mysql debería poder escribir en el directorio.
Este es MySQL 5.0.75 ejecutándose en Ubuntu.
/tmp
.