Foros del Web » Programando para Internet » PHP »

problemas de conexion a servidores distintos

Estas en el tema de problemas de conexion a servidores distintos en el foro de PHP en Foros del Web. Hola! Queria comentar un problema que tengo. Uso Mysql y estoy realizando una aplicacion web en EASYPHP (tb he probado con XAMPP) que se ejecuta ...
  #1 (permalink)  
Antiguo 22/10/2008, 10:23
 
Fecha de Ingreso: abril-2005
Mensajes: 14
Antigüedad: 19 años
Puntos: 0
problemas de conexion a servidores distintos

Hola!

Queria comentar un problema que tengo.

Uso Mysql y estoy realizando una aplicacion web en EASYPHP (tb he probado con XAMPP) que se ejecuta en el servidor local de mi PC, y que tiene una replica en otro servidor hosting (tb he probado en otro servidor de otro pc conectado a mi red local). Cada servidor, tanto local como remoto tienen una base de datos identica.

Lo que hago es que cuando ejecuto mi aplicacion en local, todas las instrucciones de inserccion, borrado o actualizacion de datos se inserten en una tabla sincro con los campos ID (identificador), sentencia (instruccion SQL) y Orden (uso la orden timestamp() de PHP). Tb se ejecutan en sus respectivas tablas.

El problema es que cuando quiero sincronizar los datos con el otro servidor (para que se introduzcan los datos que hemos metido en local), no me deja. Pues parece q al correr la aplicacion en local si me deja conectarme al servidor local y puedo acceder a la bd de la tabla sincro, pero me es imposible conectar al servidor remoto (hosting o otro equipo local) y a su bd replica, para poder introducir las sentencias registradas en la tabla sincro de la bd local ordenadamente a traves de un script en PHP en su respectivas tablas de la bd replica.

De identica forma si la aplicacion corre en Remoto, me deja acceder al servidor remoto pero nunca al local.

Pienso que puede ser q PHP no me deje conectar a 2 servidores distinto si la aplicacion se esta ejecutando en uno. O sea que solo deja conectarse al servido donde la aplicacion corre.

He probado con perl, pero me estoy viendo q si se ejecuta en un servidor me huele a q va a pasarme lo mismo que con php.

Antes tanta adversidad veo q lo mejor seria usar un lenguaje que se ejecute en un sistema (y no en servidores, tipo PHP o PERL) y que me permita conectarme a ambos servidores (local y remoto). Pero estoy viendo que por ejemplo PERL, aunq puede q este equivocado, no deja usar la opcion de conexiones a servidores y bd si no se utiliza bajo un servidor web.

La pregunta mia, por tanto es, es imposible conectarse a uno si la aplicacion se ejecuta en el otro?

Y, existe algun lenguaje que me permita conectarme a estos 2 servidores para ejecutar el script sin necedidad de que se ejecuten bajo un servidor?

Gracias
  #2 (permalink)  
Antiguo 22/10/2008, 10:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: problemas de conexion a servidores distintos

Hola eras77,

Tu problema es más simple de lo que parece, checa los firewalls y checa que tus usuarios bajo los que te estas conectando tengan permisos para entrar, PHP no tiene ningun problema para conectarse a 2, 3, o 10 bases de datos de manera simultanea.

Saludos.
  #3 (permalink)  
Antiguo 22/10/2008, 11:40
 
Fecha de Ingreso: abril-2005
Mensajes: 14
Antigüedad: 19 años
Puntos: 0
Respuesta: problemas de conexion a servidores distintos

Efectivamente no hay problemas para conectarse a 2, 3, 4, ... bd distintas siempre y cuando esten en el mismo servidor.

El problema es q la aplicacion se ejecuta en un servidor (por ejemplo local) y no permite conectar con otro servidor remoto (y ejecutar la instrucciones que se aplicarian a las tablas de esa bd, q es identica a la q tenemos en local, pero que esta en otro servidor distinto)

Los nombres de usuarios, firewalls, ... estan correctamente. Insisto, no es problema de conexion a 2 bd, sino a 2 bd identicas que estan cada una de ellas en servidores distintos, mientras la aplicacion se ejecuta en uno de ellos (por ej. en local -> no permitira acceso a remoto).
  #4 (permalink)  
Antiguo 22/10/2008, 12:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: problemas de conexion a servidores distintos

No importa si son identicas, creeme que el motor de MySQL no se fija en eso, aunque esten en servidores distintos, fijate en el primer parámetro de mysql_connect() es la IP del servidor, aunque esta este en otra red, lo que tienes que configurar es que puedas conectarte al puerto 3306 (por defecto de MySQL).

Luego tienes que darle permisos al usuario especificamente al host desde donde te quieres conectar.

Saludos.
  #5 (permalink)  
Antiguo 22/10/2008, 15:42
 
Fecha de Ingreso: abril-2005
Mensajes: 14
Antigüedad: 19 años
Puntos: 0
Respuesta: problemas de conexion a servidores distintos

Yo lo he intentado, llevo bastante tiempo y no lo consigo. Supongamos que el motor de mysql es tan potente que lo puede realizar, que identifica cada servidor. Pq entonces en dos ordenadores de mi red local (con servidores distintos, donde no hay problemas de permiso a priori como en unhosting) si la aplicacion corre en uno de ellos, no me deja hacer la conexión mediante la ip local o nombre de equipo conectar al otro servidor donde no se ejecuta la aplicacion?

LLevo tiempo con esto, y no encuentro solución al problema. Si estas seguro de que es así supongo es pq lo has probado y te funciona. Si es asi podrias especificarme de forma mas detallada que tengo q hacer?
  #6 (permalink)  
Antiguo 22/10/2008, 15:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: problemas de conexion a servidores distintos

Claro que lo he probado, y por eso te digo los problemas que son, aunque esten en una red local, por defecto el servidor MySQL NO escucha en el puerto 3306 (bajo *nix), tienes que editar el my.cnf para habilitar el escuchar por TCP/IP.

Luego tienes que abrir el puerto 3306 del ordenador a donde te vayas a conectar (o mas seguro solo darle acceso a la maquina remota que se vaya a conectar).

Posteriormente tienes que usar el comando GRANT para darle acceso al usuario que quieras bajo el host remoto, ya que aunque te puedas conectar, y tengas el usuario y password correcto si el host no coincide MySQL te deniega el acceso.

Saludos.
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 13:19.