De acuerdo con la documentación de MySQL en SELECCIONAR ... EN OUTFILE
Cualquier archivo creado por INTO OUTFILE o INTO DUMPFILE puede ser escrito por todos los usuarios en el host del servidor. La razón de esto es que el servidor MySQL no puede crear un archivo que sea propiedad de alguien que no sea el usuario bajo cuya cuenta se está ejecutando. (Nunca debe ejecutar mysqld como root por esta y otras razones.) Por lo tanto, el archivo debe poder escribirse en todo el mundo para que pueda manipular su contenido.
Debe generar el SELECT INTO OUTFILE
a /var/lib/mysql de la siguiente manera
SELECT * FROM data INTO OUTFILE 'data.csv';
Por supuesto, debe asegurarse de tener permiso de ARCHIVO en [email protected]
Hay dos formas de obtener este permiso
MÉTODO #1
GRANT FILE ON *.* TO 'gs'@'localhost';
MÉTODO #2
UPDATE mysql.user SET File_priv = 'Y' WHERE user='gs' AND host='localhost';
FLUSH PRIVILEGES;
ACTUALIZACIÓN 2012-05-01 07:09 EDT
Para otorgarse el privilegio de ARCHIVO, haga lo siguiente:
service mysql restart --skip-networking --skip-grant-tables
mysql <hit enter>
UPDATE mysql.user SET File_priv = 'Y' WHERE user='gs' AND host='localhost';
exit
service mysql restart