Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Conexion Mysql remota, a veces funciona y a veces no.

Estas en el tema de Conexion Mysql remota, a veces funciona y a veces no. en el foro de Mysql en Foros del Web. Hola a todos!, tengo una base de datos MySQL alojada en un hosting privado, y otra base de datos en el localhost de mi pc, ...
  #1 (permalink)  
Antiguo 09/09/2013, 22:02
Avatar de curioso_php  
Fecha de Ingreso: septiembre-2013
Ubicación: Carabobo.
Mensajes: 7
Antigüedad: 10 años, 7 meses
Puntos: 0
De acuerdo Conexion Mysql remota, a veces funciona y a veces no.

Hola a todos!, tengo una base de datos MySQL alojada en un hosting privado, y otra base de datos en el localhost de mi pc, desde mi pc tengo un codigo php que me permite guardar todos los registros de una tabla en formato .txt, y tambien tengo otra que me permite insertar los registros .txt en la tabla de la bd, cuando intento insertarlos en la bd de localhost me funciona perfectamente, pero cuando lo hago con el server del localhost me da el siguiente error: "Warning: mysql_pconnect() [function.mysql-pconnect]: Access denied for user 'usuario'@'ip' (using password: YES)".
Lo mas extraño es que cuando me conecto para hacer select o insert comunes la conexion si la realiza con éxito...
que podrá ser?? y mil gracias por su ayuda que la necesito bastantee
  #2 (permalink)  
Antiguo 09/09/2013, 22:10
Avatar de curioso_php  
Fecha de Ingreso: septiembre-2013
Ubicación: Carabobo.
Mensajes: 7
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Conexion Mysql remota, a veces funciona y a veces no.

Aqui les dejo el codigo que estoy utilizando para hacer el infile:

Cita:
Editado: Código de programación no permitido en foros de Base de Datos. Leer las normas del Foro, por favor.

Última edición por gnzsoloyo; 10/09/2013 a las 03:16
  #3 (permalink)  
Antiguo 10/09/2013, 04:18
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Conexion Mysql remota, a veces funciona y a veces no.

El tema por donde lo mires son permisos.
Lo que sí te puedo advertir, de acuerdo a lo que vi (antes de tener que de orrarlo por no cumplir con las normas de este foro), es que usas LOAD DATA, y ese es un comando que requiere permisos de EXECUTE y FILE, que no se dan en forma genérica. Se tienen que otorgar en forma específica, y los hosting no suelen darlos a los usuarios remotos por cuestiones de seguridad.
Verifica 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 10/09/2013, 14:44
Avatar de curioso_php  
Fecha de Ingreso: septiembre-2013
Ubicación: Carabobo.
Mensajes: 7
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Conexion Mysql remota, a veces funciona y a veces no.

Hola gnzsoloyo, gracias por responder, yo cree el usuario a traves del phpmyadmin que se encuentra en el WHM, el Cpanel normal es limitado pero en el WHM tengo acceso a mas opciones de configuracion, alli, en phpmyadmin, le asigne al usuario todos los privilegios... ¿existe algun paso adicional que tenga que hacer?, ¿a traves de WHM puedo otorgar esos permisos?, de nuevo gracias por tu ayuda, saludos!.
  #5 (permalink)  
Antiguo 10/09/2013, 14:55
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Conexion Mysql remota, a veces funciona y a veces no.

Lo que a priori te puedo decir es que los permisos se otorgan con GRANT, y no puedes otorgarlos en un servidor, si el usuario que utilizas no los posee (principio general: un usuario B creado por A jamás puede tener más permisos que el usuario A).
te recomiendo que leas bien el tema de los permisos en el manual de referencia para evitarte confusiones, pero por lo pronto: GRANT ALL no provee los permisos de FILE ni de EXECUTE.
Estos dos permisos se deben dar manualmente y en forma específica al usuario que los usará. Y por cuestiones de seguridad, sólo el root o usuarios creados por el root con GRANT OPTION y que posean FILE y EXECUTE pueden dar ese tipo de permisos.
Simplificando: cPanel no e permitirá hacer cosas que por default tu user no posea.

http://dev.mysql.com/doc/refman/5.0/es/grant.html
__________________
¿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 10/09/2013, 18:20
Avatar de curioso_php  
Fecha de Ingreso: septiembre-2013
Ubicación: Carabobo.
Mensajes: 7
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Conexion Mysql remota, a veces funciona y a veces no.

Haciendo unas pruebas, intente conectarme utilizando otro usuario, y logro hacer la conexion!, solo me dio un error que decia: "No database selected 1046", lo extraño es que este error no me aparece cuando me conecto a mi propio localhost, entonces decidi escribir la funcion mysql que selecciona la base de datos (Creo que no puedo escribirla en el foro) y me dio el sig error: "Fatal error: Access denied for user 'usuario'@'ip' (using password: YES)".
De todos modos voy a investigar eso que me dices sobre el grant, solo queria comentarte esto por si acaso fuese un detalle que podria indicar mejor el origen del problema, muchas gracias!, saludos.
  #7 (permalink)  
Antiguo 10/09/2013, 18:36
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Conexion Mysql remota, a veces funciona y a veces no.

Cita:
Haciendo unas pruebas, intente conectarme utilizando otro usuario, y logro hacer la conexion!, solo me dio un error que decia: "No database selected 1046", lo extraño es que este error no me aparece cuando me conecto a mi propio localhost,
Eso implica que el usuario existe y tiene permisos de select. Pero no dice muco más ,que eso. y no es extraño el error desde el momento en que estás logueandote al servidor, pero no abriendo una base.
Cita:
entonces decidi escribir la funcion mysql que selecciona la base de datos (Creo que no puedo escribirla en el foro) y me dio el sig error: "Fatal error: Access denied for user 'usuario'@'ip' (using password: YES)".
Eso significa que a pesar de existir como usuario, no tiene permisos de conexión remota, y menos desde el host "ip" (que en el caso, sería tu propia PC).
No es lo mismo loguearte en el CPanel o usando el phpMyadmin del sitio, que usar una conexión remota. Se necesitan permisos especiales y ese usuario no los tiene.
Cuando te logueas en el cPanel del sitio o el phpMyadmin que tenga instalado, en realidad te estás logueando en local de ese servidor, aunque estés usando una conexión web. Como el servicio de conexión está corriendo en el propio servidor de MySQL, la conexión es local.
¿Se entiende?
Recuerda que los scripts de PHP no corren en el navegador...
El tema sigue siendo de permisos...
__________________
¿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 11/09/2013, 11:52
Avatar de curioso_php  
Fecha de Ingreso: septiembre-2013
Ubicación: Carabobo.
Mensajes: 7
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Conexion Mysql remota, a veces funciona y a veces no.

Hola gnzsoloyo, solo he utilizado el cpanel y el phpmyadmin para crear la base de datos y configurar los usuarios, el resto de las conexiones las he realizado mediante un script php que tengo alojado en el disco duro de mi pc, es decir, que para acceder a el yo coloco: localhost/micarpeta/script.php, y como datos de conexion coloco: sitio.com,sitio_usuario,password. Y la conexion ha sido exitosa ya que he ejecutado muchas sentencias por este medio, cuando me refiero a que en localhost no me dio errores, lo que quise decir es que corri el script utilizando como parametros de conexion: localhost, root, . es decir, conectandolo a la base de datos de mi pc, y no a la bd del sitio.com, en mi localhost no me genera ningun error, sin embargo, en la bd de sitio.com, primero me dice que seleccione la bd, y despues me sale el error de acceso denegado.
Puedo estar seguro de que tengo los permisos de Mysql remota, pero los permisos de grant no lo se, ya me contacte con el proveedor de hosting y le solicite que configurara los permisos por medio de GRANT, tocara esperar, hare las pruebas y luego te comentare lo que sucede!.
Muchas gracias por tu ayuda (Y)
  #9 (permalink)  
Antiguo 18/09/2013, 13:13
Avatar de curioso_php  
Fecha de Ingreso: septiembre-2013
Ubicación: Carabobo.
Mensajes: 7
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Conexion Mysql remota, a veces funciona y a veces no.

Hola!, ya el proveedor de hosting me confirmo que me cedio los permisos GRANT, y ya esta confirmado la conexion MySQL remota, pero intente ejecutar mi codigo y volvio a salir el mismo error: "Access denied for user 'usuario'@'ip' (using password: YES) 1045".
¿que podra ser ahora?

Etiquetas: hosting-profesional, php
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 14:22.