¡MySQL es increíble! Actualmente estoy involucrado en una importante migración de servidor y anteriormente, nuestra pequeña base de datos solía estar alojada en el mismo servidor que el cliente.
Así que solíamos hacer esto: SELECT * INTO OUTFILE .... LOAD DATA INFILE ....
MySQL - ¿SELECCIONAR * EN OUTFILE LOCAL?
Ahora, movimos la base de datos a un servidor diferente y SELECT * INTO OUTFILE ....
ya no funciona, comprensible, por razones de seguridad, creo. Pero, curiosamente LOAD DATA INFILE ....
se puede cambiar a LOAD DATA LOCAL INFILE ....
y bam, funciona.
No me estoy quejando ni estoy expresando disgusto hacia MySQL. La alternativa a eso agregó 2 líneas de código adicional y una llamada al sistema desde un script .sql. Todo lo que quería saber es por qué funciona LOAD DATA LOCAL INFILE
y por qué no existe SELECT INTO OUTFILE LOCAL
?
Hice mi tarea, no pude encontrar una respuesta directa a mis preguntas anteriores. No pude encontrar una solicitud de función @ MySQL tampoco. Si alguien puede aclarar eso, ¡eso fue increíble!
¿MariaDB es capaz de manejar este problema?
hay una alternativa que implica el uso del comando tee que le permite registrar la entrada y salida de mysql a una archivo separado en el lado del cliente, sin embargo, esto registra toda la sesión de MySQL, en lugar de enviar los contenidos de la consulta de selección, y no hay opciones de formato como la salida al estilo CSV. – CMCDragonkai