Estoy tratando de volcar el contenido de una tabla en un archivo csv usando una instrucción MySQL SELECT INTO OUTFILE. Si hago:¿Cómo puedo evitar MySQL Errcode 13 con SELECT INTO OUTFILE?
SELECT column1, column2
INTO OUTFILE 'outfile.csv'
FIELDS TERMINATED BY ','
FROM table_name;
outfile.csv se crea en el servidor en el mismo directorio de archivos de esta base de datos se almacenan en
Sin embargo, cuando cambio mi consulta a:.
SELECT column1, column2
INTO OUTFILE '/data/outfile.csv'
FIELDS TERMINATED BY ','
FROM table_name;
me sale:
ERROR 1 (HY000): Can't create/write to file '/data/outfile.csv' (Errcode: 13)
Errcode 13 es un error de permisos, pero lo consigo, incluso si cambio de titularidad de/datos a mysql: mysql y darle 777 permisos. MySQL se ejecuta como usuario "mysql".
Extrañamente puedo crear el archivo en/tmp, pero no en ningún otro directorio que haya probado, incluso con permisos establecidos de tal manera que el usuario mysql debería poder escribir en el directorio.
Esta es MySQL 5.0.75 corriendo en Ubuntu.
Como el 13 es un error del sistema, probablemente esto no sea así, pero hay una configuración mySQL que limita INTO OUTFILE a un directorio: http://dev.mysql.com/doc/refman/5.0/en/server -system-variables.html # sysvar_secure_file_priv tal vez vale la pena echar un vistazo si está configurado en '/ tmp'. –
Esa variable está en blanco en mi instalación, lo que según ese documento significa que mis directorios de salida no deberían estar limitados. –