List:Spanish« Previous MessageNext Message »
From:Carlos Proal Date:November 26 2010 4:29pm
Subject:Re: Pregunta sobre sincronización
View as plain text  
Estimado Juan Manuel

Ya revisaste el uso de tablas federadas ?
http://dev.mysql.com/doc/refman/5.1/en/federated-storage-engine.html

Basicamente es tener una "liga" (especie de DB link de Oracle) entre 2 
bases de datos y de esa manera no tienes que usar replicacion ni nada 
por el estilo y los cambios siempre se hacen en una tabla; el problema 
es que tiene algunas limitaciones (como puedes leer en el manual) pero 
igual y no aplican en tu caso particular, cuestion de que lo revises con 
calma y hagas pruebas de latencia para revisar tus tiempos de respuesta.

Carlos Proal

On 25/11/2010 09:47 p.m., Mark wrote:
> Estimado Manuel,
>
> Te sugiero utilizar la replicación que ofrece el mismo motor Mysql.
>
> La replicación que me parece que necesitas es la que se llama
> maestro-maestro... y para establecer que bdd se deben replicar, debes
> considerar los parametros en el archivo de configuración de mysql, my.cnf
>
> Estos:
> replicate-do-db = nombre-base-datos
> log-bin = /var/log/mysql/mysql-bin.log
> binlog-do-db = nombre-base-datos
>
> *Slds.
>
>
> *
> El 25 de noviembre de 2010 18:28, Juan Manuel Acuña Barrera<
> gps1mx@stripped>  escribió:
>
>> Yo creo que voy a desarrollar el script en bash, dado que los servidores
>> que uso son linux y que es en lo que creo que puede salir más fácil
> y
>> rápido.
>>
>> Cuando lo tenga lo posteo en la lista por si a alguien le sirve, con todo
>> gusto.
>>
>> Saludos!
>>
>> El 21/11/2010, a las 16:33, Ruben Sanchez escribió:
>>
>>> Mmm aunque se poco de Cluster, si se puede sincronizar una sola tabla.
>>>
>>> Si, lo más adecuado sería un script, cuando lo desarrolles si
> no te
>>> importa me gustaría verlo...
>>>
>>> 2010/11/20 Juan Manuel Acuña Barrera<gps1mx@stripped>:
>>>> Ruben, gracias también a ti por contestar.
>>>>
>>>> Yo creo que un cluster sería quizá un poco excesivo,
> además que no se si
>> con un cluster se pueda sincronizar solamente una tabla y dejar las demás
>> intactas.
>>>> En este momento aún estoy indeciso si hago una solución
> tipo "scripts
>> con tablas temporales" o sigo buscando algo sobre replicación tipo
>> master-master para una sola tabla, lo cual no he encontrado.
>>>> Les agradezco mucho a todos sus aportaciones.
>>>>
>>>> Saludos!
>>>>
>>>> Juan Manuel
>>>>
>>>>
>>>> El 18/11/2010, a las 14:19, Ruben Sanchez escribió:
>>>>
>>>>> Estaba pensando en un cluster.... pero tampoco, yo lo haría
> mediante
>>>>> un script y con tablas tamporales, leeria las dos tablas y las
>>>>> guardaria en la tabla temporal y luego sobre escribiria las
> originales
>>>>>
>>>>> 2010/11/18 Juan Manuel Acuña Barrera<gps1mx@stripped>:
>>>>>> Muchas gracias por sus respuestas. Revisaré la
> información que me han
>> hecho favor de enviarme.
>>>>>> Viendo los enlaces, me parece que todos refieren a un esquema
> tipo
>> master-slave. Saben si existe alguna opción tipo master-master? Supongo
> que
>> para lograr esto lo necesario sería lograr que no se duplicaran los
>> autoincrements de la tabla. El objetivo sería que si originalmente tengo
>> algo así (el campo id es autoincrement):
>>>>>> edomex.inventarios.principal
>>>>>> +-----+------+
>>>>>> |  id | c    |
>>>>>> +-----+------+
>>>>>> |  1  | aaa  |
>>>>>> | 11  | bbb  |
>>>>>> | 21  | ccc  |
>>>>>> +-----+------+
>>>>>>
>>>>>> michoacan.inventarios.principal
>>>>>> +-----+------+
>>>>>> |  id | c    |
>>>>>> +-----+------+
>>>>>> |  2  | xxx  |
>>>>>> | 12  | yyy  |
>>>>>> | 22  | zzz  |
>>>>>> +-----+------+
>>>>>>
>>>>>> Después de la sincronización pueda tener algo
> así:
>>>>>>
>>>>>> edomex.inventarios.principal
>>>>>> +-----+------+
>>>>>> |  id | c    |
>>>>>> +-----+------+
>>>>>> |  1  | aaa  |
>>>>>> |  2  | xxx  |
>>>>>> | 11  | bbb  |
>>>>>> | 12  | yyy  |
>>>>>> | 21  | ccc  |
>>>>>> | 22  | zzz  |
>>>>>> +-----+------+
>>>>>>
>>>>>> michoacan.inventarios.principal
>>>>>> +-----+------+
>>>>>> |  id | c    |
>>>>>> +-----+------+
>>>>>> |  1  | aaa  |
>>>>>> |  2  | xxx  |
>>>>>> | 11  | bbb  |
>>>>>> | 12  | yyy  |
>>>>>> | 21  | ccc  |
>>>>>> | 22  | zzz  |
>>>>>> +-----+------+
>>>>>>
>>>>>> Y lo más importante, que no importa en que servidor se
> hagan los
>> cambios, las bases siempre (razonablemente hablando) estén sincronizadas,
> ya
>> sea manualmente o de forma automática.
>>>>>> Una vez más les agradezco.
>>>>>>
>>>>>> Juan Manuel.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> El 17/11/2010, a las 16:49, Isart Montane escribió:
>>>>>>
>>>>>>> Hola Juan Manuel,
>>>>>>>
>>>>>>> con MySQL puedes replicar una tabla (o una bd si quieres).
> Dale un
>> vistazo a las opcion replicate-do-table
>>>>>>>
>>
> http://dev.mysql.com/doc/refman/5.0/en/replication-options-slave.html#option_mysqld_replicate-do-table
>>>>>>> Saludos,
>>>>>>> Isart Montane
>>>>>>>
>>>>>>>
>>>>>>> 2010/11/17 Juan Manuel Acuña
> Barrera<gps1mx@stripped>
>>>>>>> Buenas tardes amigos(as):
>>>>>>>
>>>>>>> Traigo un problema entre manos y no he podido solucionarlo,
> por lo
>> que he pensado en recurrir a su ayuda, a ver si alguien me puede tirar una
>> cuerda de por donde empezar.
>>>>>>> Les planteo la situación:
>>>>>>>
>>>>>>> Tengo dos servidores, ubicados en estados distintos, ambos
> con
>> internet (ip dinámica de telmex), ambos con linux (debian stable),
> apache2,
>> php5, mysql5. En cada servidor tengo una serie de bases de datos; todas son
>> distintas, excepto una que es común en ambos servidores, de la siguiente
>> manera.
>>>>>>> - Servidor edomex:
>>>>>>>         bases de datos:
>>>>>>>                 - inventarios
>>>>>>>                 - pruebas
>>>>>>>                 - inmuebles
>>>>>>>                 - vehículos
>>>>>>>
>>>>>>> - Servidor michoacan:
>>>>>>>         bases de datos:
>>>>>>>                 - inventarios
>>>>>>>                 - refacciones
>>>>>>>                 - pedidos
>>>>>>>                 - documentacion
>>>>>>>                 - auditorias
>>>>>>>                 - ventas
>>>>>>>
>>>>>>> Como verán, en cada uno de los servidores, la base
> "inventarios"
>> existe. La estructura de la base es idéntica en ambos. Ambas bases
> contienen
>> una tabla que se llama "principal".
>>>>>>> Lo que me interesa hacer es que cada vez que alguien haga
> algún
>> cambio en "principal" en cualquiera de las dos bases de datos, en cualquiera
>> de los servidores, la tabla del otro servidor se actualice. Esto puede ser
>> manual o automático. Estuve buscando bastante y lo más cercano que
> encontré
>> es que se sincronicen todas las bases de datos de un servidor, pero
>> obviamente eso no me funciona, yo necesito sincronizar solamente una tabla.
>> En el peor de los casos pensé que si no se puede sincronizar solo una
> tabla
>> de una base de datos, y puede sincronizarse una base de datos completa, pues
>> no importa, pues podría crear una base con una sola tabla y que la
>> aplicación llame a esa tabla, pero lo que definitivamente no puedo es que
> se
>> sincronicen todas las bases.
>>>>>>> Espero que alguien me pueda dar una mano con esto.
>>>>>>>
>>>>>>> De antemano les agradezco.
>>>>>>>
>>>>>>> Juan Manuel.
>>>>>>> --
>>>>>>> Lista de Correos de MySQL
>>>>>>> Para el historial de la lista:
> http://lists.mysql.com/mysql-es
>>>>>>> Para cancelar inscripción:
>> http://lists.mysql.com/mysql-es?unsub=1
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Lista de Correos de MySQL
>>>>>> Para el historial de la lista: http://lists.mysql.com/mysql-es
>>>>>> Para cancelar inscripción:
>> http://lists.mysql.com/mysql-es?unsub=1
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Un saludo, Ruben Sanchez.
>>>>
>>>
>>>
>>> --
>>> Un saludo, Ruben Sanchez.
>>
>> --
>> Lista de Correos de MySQL
>> Para el historial de la lista: http://lists.mysql.com/mysql-es
>> Para cancelar inscripción:
>> http://lists.mysql.com/mysql-es?unsub=1
>>
>>

Thread
Re: Pregunta sobre sincronizaciónJuan Manuel Acuña Barrera26 Nov
  • Re: Pregunta sobre sincronizaciónMark26 Nov
    • Re: Pregunta sobre sincronizaciónCarlos Proal26 Nov