Alguém aqui sabe se há alguma ferramenta, que não use a replicação integrada do mysql, que sincronizará dois bancos de dados quando o escravo estiver inacessível da Internet por longos períodos de tempo?
A ideia é configurar uma base de máquina virtual para nossos desenvolvedores da Web, que podem ligar a VM e cloná-la automaticamente de um escravo do banco de dados de produção para fins de teste/desenvolvimento. todos eles requerem seus próprios bancos de dados, mas todos devem replicar o banco de dados mestre na inicialização.
Diagrama de funcionamento:
Banco de dados de produção -> Escravo somente leitura de produção -> Máquina virtual de desenvolvimento
O único banco de dados que eu poderia pensar seria Percona XtraDB Cluster (PXC)
Ele tem dois métodos para copiar um nó de cluster inteiro
Eu abordei isso antes
Oct 25, 2012
: mysql read slave para buscar todo o banco de dados no inícioOct 03, 2012
: Isso faz com que meu XtraDB Cluster trave?EMBARGO
Esta seria a solução ideal se todo o banco de dados for InnoDB. Se você tiver tabelas MyISAM somente leitura, tudo bem, desde que você copie o MyISAM para cada nó manualmente. O SST fará uma cópia completa das tabelas MyISAM, mas o recurso MultiMaster Replication do PXC não replicará os dados MyISAM.
Quanto ao PXC, testei rigorosamente no Amazon EC2 e funciona como um sonho. O PXC funciona como anunciado.
ATUALIZAÇÃO 2013-02-06 16:40 EDT
drogart fez o seguinte comentário:
Aqui tem um ponto muito válido. À luz disso, seja muito cuidadoso e econômico quanto ao que os desenvolvedores podem fazer.
No entanto, se você precisar de uma cópia completa da produção em um servidor de desenvolvimento, fora do pico:
Depois que esse servidor de desenvolvimento estiver configurado, faça o seguinte para atualizá-lo:
rm -f /var/lib/mysql/galera.cache
rm -f /var/lib/mysql/grastate.dat
CAVEAT: Faça esta cópia do Prod to Dev fora do horário de pico !!!