Espelhamento de Banco de dados [RESOLVIDO]

1. Espelhamento de Banco de dados [RESOLVIDO]

Brunno de Moura
bhmoura

(usa Fedora)

Enviado em 17/07/2013 - 10:25h

Bom dia senhores!

estou querendo fazer um espelhamento do meu banco de dados de produção para deixar o espelho caso algum dia o produção cair a minha aplicação possa assumir com o banco de dados de backup ou espelho. Tenho algumas duvidas relacionados ao espelho que alguns tópicos eu não a resposta.

A pergunta é.

Acreditando que hoje a minha replicação de dados esteja funcionando como Mysql(master) e o Mysql(slave) com a configuração do espelhamento de banco de dados, a duvida é, caso o MASTER parar ou cair por algum motivo e ficar alguns minutos ou horas sem funcionar e a minha aplicação apontar para o SLAVE, obviamente que estarei salvando, alterando e deletando no banco SLAVE, A DUVIDA é, se eu voltar o MASTER os dados inseridos no SLAVE perde?


  


2. Re: Espelhamento de Banco de dados [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 17/07/2013 - 12:32h

bom eu não sou bom nisso , mas acho que servia bom tu fazer uma laboratório de testes em relação isso
minha sugestão


3. Re: Espelhamento de Banco de dados [RESOLVIDO]

Brunno de Moura
bhmoura

(usa Fedora)

Enviado em 17/07/2013 - 13:05h

Caro Danniel Lara,
foi o que eu pensei, só que a configuração esta dando problemas, sei que é muito simples a configuração, mais estou tendo problemas, então antes de eu passar raiva em resolver estes problemas pergunto as pessoas que configurou essa função do MySQL que já fez este laboratório.


4. Re: Espelhamento de Banco de dados [RESOLVIDO]

Brunno de Moura
bhmoura

(usa Fedora)

Enviado em 18/07/2013 - 15:56h

Resolvi o caso que eu queria.

O melhor forma é configurar o Mysql como Master para Master com os seguintes passos.

Vou simular que as configurações dos meus servidores.
Server 1 = 192.168.0.1
banco de dados = teste
Server 2 = 192.168.0.2
banco de dados = teste

1 - Copie todo banco de dados servidor 1 para o servidor 2, lembre sempre de parar a aplicação antes para não perder ou deixar um furo no banco de dados.
Abaixo um link de como faz a copia.
http://www.delete.com.br/mysqldump-import-export-sem-misterios/


2 - Criar usuário, senha e permissões para o acesso aos bancos de dados. Executar esse comando nos dois banco de dados.
GRANT REPLICATION SLAVE, SUPER, RELOAD ON *.* TO 'replica'@'%' IDENTIFIED BY 'senha';

3 - Configurar no linux o arquivo do mysql my.cnf
inserir a seguinte linhas.

server 1
[mysqld]
log-bin=mysqld-bin
binlog-do-db=teste
server-id=1
log-slave-updates
max_allowed_packet=100M
master-host=192.168.0.2
master-user=replica
master-password=senha
master-port=3306
auto-increment-increment=10
auto-increment-offset=1

server 2
[mysqld]
log-bin=mysqld-bin
binlog-do-db=teste
server-id=2
log-slave-updates
max_allowed_packet=100M
master-host=192.168.0.1
master-user=replica
master-password=senha
master-port=3306
auto-increment-increment=10
auto-increment-offset=2

Salve e restart o banco de dados (os dois).
Atenção: caso o banco de dados não suba, comente as 4 linhas 'master... e tente reiniar o banco de dados, apois reiniciar, execute dentro do MySql a seguinte linha.

server 1
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.2',
MASTER_PORT=3306,
MASTER_USER='replica',
MASTER_PASSWORD='senha';

server 2
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.1',
MASTER_PORT=3306,
MASTER_USER='replica',
MASTER_PASSWORD='senha';

Obs. se der erro nessa função, para o slave no mysql com o comando seguinte.
mysql> stop slave;
execute novamente o CHANGE.... e depois
mysql> start slave;

4 - verifique se está tudo ok, com o comando.
mysql>show slave status;

a primeira coluna mostrará se esta esperando dados do master.

Fim, pronto, configura e pronto para espelhar.

Obs. Lembrando que essa configuração é espelho de Master para Master, se você apagar uma tabela, alterar uma tabela ou ate mesmo criar no seu backup, o espelho vai funcionar, e o banco de produção vai sofrer a alteração. O meu conselho é criar um terceiro servidor de bando e colocar ele como desenvolvimento ou SLAVE.

Abraço.


5. Uma outra opção

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/07/2013 - 16:11h

Uma outra opção seria criar um cluster. Da uma olha
http://www.vivaolinux.com.br/artigo/Cluster-MySQL-Instalacao-e-configuracao






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts