No servidor MySQL-1 (O que já estiver me produção) faça:
- Edite o arquivo my.cnf (/etc/mysql/my.cnf em instalações padrões)
- Altere as linhas de:
Para
- Reinicie o servidor;
- Entre no mysql (mysql –u root –p)
- Crie um usuário de replica com GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’%’ IDENTIFIED BY ‘repl’;
- Saia do mysql (\q);
- Crie um backup complete do DB com mysqldump –u root –p --all-databases --master-data > dump.sql. Este comando irá bloquear a gravação nas tabelas até que o dump termine para evitar inconsistência.
- Envie para o segundo servidor master (MySQL-2) com scp dump.sql <IP_DO_SERVIDOR>:
No servidor mysql-2 (O novo servidor que se tornará master)
- Edite o arquivo my.cnf (/etc/mysql/my.cnf em instalações padrões)
- Altere as linhas
Para
- Reinicie o servidor;
- Entre no mysql (mysql –u root –p)
- Aponte quem será o máster com o comando CHANGE MASTER TO MASTER_HOST=’192.168.0.1’, MASTER_USER=’repl’, MASTER_PASSWORD=’repl’;
- Substitua o IP do máster, usuário e senha pelas criadas no seu servidor máster.
- Pare o servidor slave com o comando: stop slave;
- Saia do mysql (\q);
- Importe o DUMP feito anteriormente com mysql –u root –p < dump.sql
- Entre no mysql (mysql –u root –p)
- Digite o comando start slave para iniciar a replicação.
- Pode-se verificar erros com o comando SHOW SLAVE STATUS\G
- Teste a replicação, crie uma tabela no MySQL-1 e veja se a tabela também será criada no MySQL-2.