Pergunta

O que eu tenho :

  • uma máquina Windows com uma instância do MySQL 5.6 Server.
  • dois bancos de dados chamados test e test2.
  • Test banco de dados tem uma tabela chamada activity com colunas id e class

O que eu preciso :

  • replicação de test.activity mesa para test2 banco de dados com uma condição que Test.activity.class = 'B'.

Eu sei como replicar em um servidor diferente.Mas não para o mesmo servidor em bancos de dados diferentes. Eu verifiquei esse link , mas não fornece informações suficientes.

Foi útil?

Solução

Isso não seria uma situação normal!Você não pode alterar o banco de dados durante a replicação e o mestre/escravo não pode ter os mesmos IDs de servidor.Eu recomendo que, se você precisar fazer isso, configure alguns gatilhos no primeiro banco de dados, para replicar os comandos de inserção/atualização no segundo.

Outras dicas

Porque está no mesmo servidor, por que você não usa um gatilho para isso?

Se você deseja apenas replicar dados, pode adicionar um gatilho na atualização ou na inserção ou em ambos, o que for necessário.Dessa forma, você pode usar sua condição facilmente.A replicação mestre/escravo seria melhor para servidores diferentes.

Você pode olhar aqui para exemplos de gatilho mysql.E aqui é uma amostra para o seu caso.

Se entendi corretamente sua necessidade, você pode ter 2 instâncias MySQL em um único servidor (SO), então você pode configurar uma delas como Master e outra como Slave.Você deve criar my.conf diferente, nós o chamamos de my1.conf e my2.conf, cada um deve ser diferente no número da porta e no caminho do soquete e no caminho do erro de log e alguns outros parâmetros.Com esta abordagem, você executará 2 daemons MySQL com configurações diferentes.Para obter o documento completo, acesse https://dev.mysql.com/doc/refman/5.1/en/multiple-servers.html .

Experimente o mysql sandbox, provavelmente resolverá seu problema (http://mysqlsandbox.net/)

Porque:

Replicação da tabela de teste.

A replicação nativa não ajuda, e neste caso é melhor deixar os dois bancos de dados no mesmo servidor e apenas instalar o gatilho para INSER/UPDATE/DELETE no banco de dados Master, que irá verificar as condições e fazer alterações diretas no segundo banco de dados.

Esta é a maneira mais simples.Existem muitos outros possíveis.

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