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.