MySQL Database sincronizando com local e remoto com c #

1

Eu postei isso aqui como suas perguntas mais do que mysql c #, eu escrevi algum software que executa uma instância local do mysql quando ele é iniciado, agora uma vez que o mysql está ativo Eu gostaria de sincronizar os dados entre os tabela de banco de dados remota e a tabela de banco de dados local que o software executa (não deve sincronizar quaisquer outros bancos de dados / tabelas, pois há muito).

Eu tenho a configuração de replicação para sincronizar o banco de dados inteiro para outro servidor que funciona a menos que o servidor fique inativo, então ele nunca volta, então, com base em que eu não acho que a replicação funcionará como quando o software é fechado também fecha MySQL.

Então, qual seria o melhor método de sincronizar os bancos de dados remotos e locais?

    
por Neo 28.08.2012 / 11:32

1 resposta

1

Você pode fazer com que a replicação mestre / escravo do MySQL funcione ajustando os timeouts e reeditando os comandos "STOP SLAVE" e "START SLAVE". No arquivo de configuração do escravo, você pode definir o tempo limite da rede escrava para o número de segundos após o qual considera a conexão interrompida e definir a tentativa de conectar-se ao número de segundos que deve pausar entre tentar se reconectar. Ambos estão configurados para 86400 segundos ou 1 dia. Por exemplo, você pode tentar 30 segundos assim:

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

Uma alternativa é tentar uma solução como a sincronização de banco de dados SymmetricDS ou a Tungsten. Eu usei SymmetricDS em situações em que a rede é lenta ou mesmo indisponível às vezes, e se recupera automaticamente. Ele pode ser executado como um servidor de replicação independente ou pode ser incorporado e controlado a partir de um aplicativo.

    
por 31.08.2012 / 22:33