MySQL - Sincronizar bases de datos

   
Vista:

Sincronizar bases de datos

Publicado por Octavio Lanzone (5 intervenciones) el 02/10/2012 22:45:50
Hola a todos, deseo sincronizar 2 bases de datos pero una esta local en una PC de escritorio y la otra se encuentra en un servidor de Internet.

Se que no es lo adecuado, pero en mi trabajo lo saben y desean realizarlo de esa manera.

Actualmente lo único que se me ocurre es ir chequeando tabla por tabla y registro por registro entre las bases de datos, es decir ir tomando los datos de la PC de escritorio y consultar si existe en la base de datos remota (Internet), si no existe agregarlo, continuar con ello hasta verificar todas las tablas.

Si conocen alguna herramienta que realice esta acción sin copiar toda la base de datos (porque tiene un tamaño muy grande) se lo agradecería.

Saludos

Octavio
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
Imágen de perfil de xve

Sincronizar bases de datos

Publicado por xve (899 intervenciones) el 03/10/2012 11:04:11
Hola Octavio, se me ocurre dos posibles maneras...

1.- una manera --siempre y cuando las tablas tengan un campo fecha con la ultima actualización del registros-- seria revisar por la fecha, es decir buscar únicamente los campos que hayan modificado desde la ultima sincronización.

2.- la segunda manera que se me ocurre, es crear unos triggers para que guarde en una base de datos el nombre de la tabla y identificador que hace un cambio, y luego únicamente leer esa tabla con las posibles modificaciones a sincronizar.

Espero que te sirva.

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sincronizar bases de datos

Publicado por octavio (5 intervenciones) el 03/10/2012 14:45:59
Serías tan amable de extender un poquito mas la idea de los Triggers???

Creo que entiendo la idea pero no estoy seguro... y me parece buena opción.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Sincronizar bases de datos

Publicado por xve (899 intervenciones) el 01/06/2014 18:01:36
Hola Octavio, los triggers son procesos que se ejecutan cuando pasa algo en la base de datos.. por ejemplo, puedes programar un trigger que se ejecute cada vez que se añada un registro a la base de datos.
http://dev.mysql.com/doc/refman/5.0/es/triggers.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Guillermo

Sincronizar bases de datos

Publicado por Guillermo (1 intervención) el 22/05/2015 22:58:51
Hola Octavio Lanzone

Podrías informarme si lograste solucionar tu problema con la sincronizacion de tus base de datos?

Si ya lo lograste, podrías exponer aquí cual fue la solución, es que tengo el mismo problema o trabajo que tienes o tenias tú, exactamente el mismo, y eso porque la gente para la que le trabajo no confían en su conexión a internet y piensan que si se va el Internet donde van a trabajar.

Gracias por tu apoyo.

Saludos!

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sincronizar bases de datos

Publicado por Octavio octicoco@gmail.com (5 intervenciones) el 22/05/2015 23:23:37
Hace un tiempo ya de esto...

Básicamente existe una PC con conexión a internet que tiene una base de datos que almacena los horarios de ingreso y egreso del personal (mediante huellas digitales), hasta aquí no hay problemas, por razones de seguridad no me permitían el ingreso a esa base de datos desde otra PC y por alguna otra razón (que no recuerdo) no la usé como servidor web.

Necesitaba que los supervisores en cualquier lugar y momento puedan veriicar los horarios, mediante una web, lo cual requería que la base de datos local esté sincronizada con la de la web, para que los datos sean reales.

Dado que no encontré solución, creé (al menos no lo robe de ningún lado) el siguiente sistema: UN POCO RUSTICO pero funciona correctamente.

Cada vez que en el sistema local tengo una inserción, modificación o baja creo un archivo (txt si quieres) con el comando (en mi caso SQL, es decir el insert, update o delete) y lo guardo en una carpeta, digamos carpeta de instrucciones, mediante otro programa (en realidad mediante un thread del mismo) cada 10 minutos verifico si tengo algún archivo en esa carpeta y si lo tengo llamo por cada uno a una web que levanta cada uno de los archivos y ejecuta el comando SQL en el servidor web.

Es bastante rústico, para este caso lo mejor sería tener un servidor php con acceso remoto y algún dominio o al menos ip fija y listo, pero esto no se pudo realizar en ese momento y hasta el día de hoy funciona, ten en cuenta que no respeta cuestiones de seguridad ni de sincronismo puro, ya que a mi solo me importaban los horarios de una gran base de datos esto me sirvió, pero no se adapta a cualquier esquema.

Espero sirva de algo.

Saludos

Octavio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar