Base de datos MySQL sincronizándose local y remotamente con c#

Base de datos MySQL sincronizándose local y remotamente con c#

Publiqué esto aquí porque son más preguntas sobre MySQL que sobre C#. He escrito un software que ejecuta una instancia local de MySQL cuando se inicia por primera vez. Ahora, una vez que MySQL esté activo, me gustaría sincronizar los datos entre la tabla de la base de datos remota. y la tabla de la base de datos local que ejecuta el software (no debería sincronizar ninguna otra base de datos/tablas ya que hay muchas).

Tengo una configuración de replicación para sincronizar toda la base de datos con otro servidor que funciona a menos que el servidor se caiga y luego nunca vuelva a funcionar, por lo que, en base a eso, no creo que la replicación funcione, ya que cuando el software se cierra también cierra MySQL.

Entonces, ¿cuál sería el mejor método para sincronizar las bases de datos locales y remotas?

Respuesta1

Puede hacer que la replicación maestro/esclavo de MySQL funcione ajustando los tiempos de espera y volviendo a emitir los comandos "STOP SLAVE" y "START SLAVE". En el archivo de configuración del esclavo, puede configurar el tiempo de espera de la red del esclavo en la cantidad de segundos después de los cuales considera que la conexión se cortó, y configurar el reintento de conexión maestra en la cantidad de segundos que debe hacer una pausa entre los intentos de reconectarse. Ambos están configurados en 86400 segundos o 1 día. Por ejemplo, puedes intentar 30 segundos así:

slave-net-timeout = 30
master-connect-retry = 30

Una alternativa es probar una solución comoSincronización de bases de datos SymmetricDSo tungsteno. He usado SymmetricDS en situaciones en las que la red es lenta o incluso no está disponible en ocasiones, y se recupera automáticamente. Puede ejecutarse como un servidor de replicación independiente o puede integrarse y controlarse desde una aplicación.

información relacionada