Cita: Respecto a la consulta el servidor y la BBDD están en la misma IP por lo que entiendo que tendría que usar LOAD DATA LOCAL INFILE ¿Sin el LOCAL ?
Creo que no me entendiste...
La cláusula LOCAL se usa cuando el archivo de datos que se lee está en una carpeta diferente a la de la base de datos, o en una computadora que no sea la del host.
Vale decir:
- Si has subido el archivo de datos a la carpeta mysql/bin, o mysql/data, no usas el LOCAL.
- Si has subido el archivo de datos a otra carpeta, o bien lo estás leyendo desde un navegador, a una unidad de la pC cliente, debes usar LOCAL.
En el caso de pruebas en una PC local, por ejemplo, podrías perfectamente tener el archivo en el directorio raiz del disco, pero en ese caso sin el LOCAL, no leerá los datos.
¿Se entiende?
En referencia al punto:
Cita: el servidor y la BBDD están en la misma IP
Es totalmente irrelevante.
El host funciona en una computadora determinada, accedida por IP. Pero sus parametrios de configuracion le son propios al WebServer, no a la base de datos.
MySQL, por su lado, podría estar tranquilamente instalado en ese host, y de todos modos la base de datos estár en otra computadora de la red, en otro edificio, de otro país, y el servidor de MySQL lo interpretaría como local, porque eso depende de las variables de configuraciones internas de MySQL, que son inaccesibles por el host.
Entiende que un DBMS es un sistema cerrado que funciona dentro de otro sistema. No comparte los componentes kernel con el host... Sólo comparte comunicaciones, permisos de lecto escritura local y memoria física (que reserva para si y la que pide).
Otras cosas para que peudas tener la imagen mental es que podrías tener permisos en el host para llegar a eliminar el MySQL, pero no podrías desde allí borrar los usuarios internos de MySQL... porque sin un user de MySQL no puedes acceder a los datos.
En resumen, ¿dónde está el archivo cuando lo lees? ¿En el host, dentro de la carpeta de MySQL, o está en otra carpeta o PC?