Si estás intentando hacer esto en un hosting, primero deberías comprobar que el usuario que te proveen tenga permisos de FILE, sin lo cual no podrás hacer una carga remota. Ten en cuenta que la clausula LOCAL le indica al MySQL que el archivo no está en el servidor sino en la PC del cliente (la tuya, por caso), y para eso necesitas permisos de FILE.
Por otro lado, sería bueno que nos digas qué versión de MySQL tiene el servidor donde estás tratando de cargar los datos. Si hay diferencias entre la que usas y la del hosting, puede explicar mucho.
Además, ten cuidado con el "\n" que pones en el string. un "n" escapado es interpretado por el PHP como un salto de línea y llega incorrectamente al server de MySQL. Para que PHP lo tome bien deberías escapar el escape:
de ese modo el escape llegará a MySQL correctamente.
Finalmente, es necesario que compruebes que el archivo que intentas subir esté en UTF-8, de lo contrario MySQL leerá cualquier basura.