Outfile es su propio permiso en mysql.
Si tiene TODO está incluido.
Pero si solo tiene una colección segura como SELECT, INSERT, UPDATE, DELETE, DROP, CREATE, pero no OUTFILE, "en el archivo" no funcionará en las consultas.
La razón de esto es que acceder a archivos desde MySQL, incluso con fines de escritura, presenta ciertos riesgos de seguridad, porque si accede a un archivo de mysql puede acceder a cualquier archivo al que el usuario mysql tenga acceso. permisos de archivos basados
Para solucionar esto, puede ejecutar su consulta directamente en la salida de cualquier shell/idioma que esté utilizando para ejecutar el sql.
Aquí está un ejemplo * nix
>$ echo "select count(predicate),subject from TableA group by subject" | mysql -u yourusername -p yourdatabasename > ~/XYZ/outputfile.txt
Pero lo hacen todo en una línea sin el "\" o utilice el "\" para escapar del salto de línea.
Lo que está sucediendo aquí es que está ejecutando una consulta en el cliente mysql y está escupiendo el resultado, y luego está dirigiendo la salida a un archivo. Entonces el archivo nunca se llama desde mysql, se llama después de que mysql se ejecute.
Así que use mysql para obtener la información y, a continuación, volcar los datos en el archivo desde su propio shell de usuario y estará bien.
O encuentre la forma de obtener el permiso mysql de archivo externo, de cualquier manera.
¿Qué estás haciendo exactamente? ¿Estás escribiendo comandos en la consola del cliente mysql o en la terminal del sistema? – Vasil
no relacionado con la programación – cletus
Estoy escribiendo comandos a través de la consola MySQL – Arnkrishn