Pergunta

Quando eu tenho dois servidores mysql que têm trabalhos diferentes (mantendo bancos de dados diferentes), mas quero poder usar um deles para entrar quando o outro falhar, o que você sugeriria como eu mantenho os dados em ambos iguais "fechar para tempo real"?

Obviamente não é possível fazer um dump completo do banco de dados a cada x minutos.

Eu li sobre o Registro Binário, é esse o caminho que preciso seguir?Isso não desacelerará muito o servidor substituto?Existe uma maneira de não incluir algumas tabelas no log binário - onde não importa que os dados tenham sido alterados?

Foi útil?

Solução

O log binário é definitivamente o caminho a percorrer.No entanto, você deve estar ciente de que com MySQL você não pode simplesmente alternar entre servidores assim.

Um servidor será o mestre e o outro será o escravo.Você escreve/lê no mestre, mas só pode ler no servidor escravo.Se você escrever para o escravo, eles ficarão fora de sincronia e não haverá uma maneira fácil de sincronizá-los novamente (basicamente, você terá que trocá-los para que o mestre seja o novo escravo, mas este é um processo manual tedioso ).

Se você precisar de bancos de dados de backup verdadeiramente hot-swap, talvez seja necessário usar um sistema diferente do MySQL.Se tudo o que você deseja é um backup ao vivo somente leitura que possa ser usado instantaneamente no pior cenário (o mestre é permanentemente destruído), o Log Binário será adequado para você.

Outras dicas

Você pode querer considerar o mestre-mestre cenário de replicação, mas com uma ligeira variação.Você pode especificar quais bancos de dados serão replicados e limitar a replicação para cada servidor.

Para server1 eu adicionaria --replicate-do-db=server_2_db e no servidor2 --replicate-do-db=server_1_db para o seu my.cnf (ou my.ini no Windows).Isso significaria que apenas as instruções para server_1_db seriam replicadas para server2 e vice-versa.

Certifique-se também de realizar backups completos regularmente e não confiar apenas na replicação, pois isso não oferece segurança contra backups acidentais. DROP DATABASE declarações ou algo parecido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top