Replicação de banco de dados específica do MySQL (Mestre - Mestre)

2

Temos um servidor MySQL em um local, replicando para outro em uma configuração Master- > Slave. Existem cerca de 5-7 bases de dados diferentes neste servidor. Estamos querendo fazer isso ...

Temos um segundo site no qual queremos mover todos os nossos servidores da web para HA, que são orientados pelo MySQL. Infelizmente não podemos mover tudo de uma vez e estamos querendo configurar a replicação através do nosso link WAN de um servidor MySQL para outro. Como estaremos fazendo a transição lenta dos servidores da Web para esse segundo site, eu preciso quebrar lentamente os bancos de dados do ambiente existente para o segundo site para uso em produção. A minha pergunta é, posso replicar o banco de dados pela rede, mover os servidores da web, apontar o novo servidor para o novo MySQL e promover esse banco de dados individual de que ele precisa e fazer com que ele grave de volta no servidor original?

Posso simplesmente configurar uma replicação do Master-Master que os servidores da Web estão apenas gravando em um ou em outro sem ter o problema de incremento automático como descrito em outros locais aqui como sendo uma preocupação?

Espero que isso faça sentido. Os aplicativos da web sempre gravarão em um ou outro servidor, e não em ambos. Isso é possível?

Feliz em esclarecer conforme necessário.

    
por C. Baker 09.10.2012 / 00:25

3 respostas

2

Quanto ao problema de incremento automático, a correção óbvia é usar os deslocamentos.

Servidor 1:

auto-increment-increment = 2
auto-increment-offset = 1

Servidor 2:

auto-increment-increment = 2
auto-increment-offset = 2

Simplesmente desfaça isso no servidor restante quando terminar.

    
por 09.10.2012 / 01:19
0

Você pode dizer ao seu servidor escravo para aplicar apenas instruções de replicação para bancos de dados específicos:

--replicate-do-db=myfoodb

--replicate-do-db=myotherfoodb

link - então você pode apenas cortar seu aplicativo sempre que você estiver pronto.

Quanto a uma configuração master-master, ela vem com algumas advertências, mas é totalmente factível. Dependendo da latência / taxa de transferência entre sites, você pode usar o pó mágico XtraDB / galeria aglomerado da Percona para garantir a replicação síncrona, que contornará qualquer problema comum do master-master link - embora, como eu disse, há algumas ressalvas; por exemplo: seu código não pode emitir GET_LOCK

    
por 09.10.2012 / 01:04
0

CMIIW apenas comentário adicional

se você estiver usando o HAProxy para MySQL Master-Master, você pode usar a configuração de amostra abaixo (eu uso o haproxy 1.4), toda a conexão padrão será encaminhada para o mysql1 else se mysql1 então mysql2 será servido (Active - Standby ), e ele irá falhar no mysql1 se o mysql1 estiver ativo.

  listen www_website_com_3306 www.website.com:3306
      mode tcp
      balance roundrobin
      option tcplog
      option mysql-check user haproxy
      server mysql1 mysql1:3306 check inter 2s rise 2 fall 2 maxconn 50
      server mysql2 mysql2:3306 check **backup** inter 2s rise 2 fall 2 maxconn 50
    
por 09.10.2012 / 09:40