Foros del Web » Programando para Internet » PHP »

Problemas con LOAD DATA LOCAL

Estas en el tema de Problemas con LOAD DATA LOCAL en el foro de PHP en Foros del Web. Hola a todos, tengo mi web en EC2 de amazon con una maquina ubuntu, ya esta funcionando bien, he instalado mysql 5.5 pero tengo un ...
  #1 (permalink)  
Antiguo 13/12/2012, 10:22
 
Fecha de Ingreso: mayo-2012
Mensajes: 7
Antigüedad: 12 años, 6 meses
Puntos: 0
Problemas con LOAD DATA LOCAL

Hola a todos, tengo mi web en EC2 de amazon con una maquina ubuntu, ya esta funcionando bien, he instalado mysql 5.5 pero tengo un inconveniente con un script.

Cuando intento usar LOAD DATA LOCAL para subir un .txt a una tabla de mysql me dice que no tiene los permisos. Mi pregunta es que es "casi" imposible que no me permita hacerlo ya que tengo el control de todo mi servidor, solo que no se donde habilitar esta opción...

De antemano gracias por su ayuda!!!
  #2 (permalink)  
Antiguo 13/12/2012, 10:32
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 8 meses
Puntos: 33
Respuesta: Problemas con LOAD DATA LOCAL

Intenta con lo siguiente:

Código:
LOAD DATA LOCAL INFILE '{$file}' INTO TABLE {$table}
O bien verifica que tu usuario de la bd tenga los privilegios para los archivos(FILE granted)

Comentanos como te fue.
Saludos.
  #3 (permalink)  
Antiguo 13/12/2012, 10:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problemas con LOAD DATA LOCAL

Hay dos niveles de permisos diferentes, y son completamente independientes: A nivel de SO y a nivel de BBDD. Los permisos de FTP son totalmente independientes de la base de datos, por lo que si tienes ese permiso para subir archivos al servidor, no implica que puedas hacer lo mismo con la base.
LOAD DATA LOCAL requiere permisos de FILE a nivel de Base de Datos, de lo contrario, y aunque sea es sysadm del S.O., MySQL no permitirá que ejecutar ese comando.
Tan simple como eso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 13/12/2012, 21:51
 
Fecha de Ingreso: mayo-2012
Mensajes: 7
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Problemas con LOAD DATA LOCAL

Gracias por sus respuestas! El error que me esta generando es el siguiente:

Código MySQL:
Ver original
  1. #1148 - The used command is not allowed with this MySQL version

y lo que he corriendo es simplemente:

Código MySQL:
Ver original
  1. LOAD DATA LOCAL INFILE "mproductos.txt" INTO TABLE tacrm_productos FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n'

ya he probado quitando el LOCAL pero no funciona!!! Les agradezco su ayuda pq estoy quedado con esto... GRACIAS!
  #5 (permalink)  
Antiguo 14/12/2012, 04:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problemas con LOAD DATA LOCAL

Bueno, si lo que dice es
Cita:
The used command is not allowed with this MySQL version
Es evidente que no funcionará, hagas lo que hagas.

Empieza por decirnos qué versión de MySQL tiene ese servidor, porque según el mensaje, no soporta ese comando y eso sólo podría masar si es MUY vieja.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 14/12/2012, 06:58
 
Fecha de Ingreso: mayo-2012
Mensajes: 7
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Problemas con LOAD DATA LOCAL

Hola gnzsoloyo, luego de pasarle SHOW VARIABLES LIKE "%version%"; he obtenido:

Código MySQL:
Ver original
  1. +-------------------------+-------------------------+
  2. | Variable_name           | Value                   |
  3. +-------------------------+-------------------------+
  4. | innodb_version          | 1.1.8                   |
  5. | protocol_version        | 10                      |
  6. | slave_type_conversions  |                         |
  7. | version                 | 5.5.28-0ubuntu0.12.10.2 |
  8. | version_comment         | (Ubuntu)                |
  9. | version_compile_machine | x86_64                  |
  10. | version_compile_os      | debian-linux-gnu        |
  11. +-------------------------+-------------------------+
  12. 7 rows in set (0.00 sec)

Por si es relevante, el servidor esta montado en EC2 de amazon y es ubuntu.

GRACIAS!
  #7 (permalink)  
Antiguo 14/12/2012, 07:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problemas con LOAD DATA LOCAL

No te compliques innecesariamente.
ç¿No puedes simplemente ejecutar eso?:

Código MySQL:
Ver original 
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 14/12/2012, 07:10
 
Fecha de Ingreso: mayo-2012
Mensajes: 7
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Problemas con LOAD DATA LOCAL

Vale!

La versión que me arroja es 5.5.28-0ubuntu0.12.10.2

Gracias gnzsoloyo!
  #9 (permalink)  
Antiguo 14/12/2012, 07:26
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problemas con LOAD DATA LOCAL

Leyendo un poco de la documentación de MyQSL, es muy posible que el problema es que tanto el cliente como el server (o uno de ellos) sean compilaciones que por default traigan el LOAD DATA LOCAL desactivado, por o que a menos que se los recompile con la opcion activada, sería cuestión de reconfigurar la carga del servidor para ello.
No he profundizado en el tema, pero la documentación referida a este asunto la puedes leer en el manual (http://dev.mysql.com/doc/refman/5.5/...ata-local.html), cosa que te sugiero que hagas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: data, load, local, mysql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:48.