Replicação de um Bancos de Dados – Parte II

Agora que já entendemos um pouco sobre como funciona a Replicação, vamos ao que realmente interessa. Neste exemplo vou mostrar utilizando o MySQL, utilizando uma replicação Master-Slave.

– Master-Slave

Primeiro vamos configurar o master, para isso devemos pegar o nosso log binário:

Vamos abrir o terminal MySQL e digitar:

SHOW GLOBAL VARIABLES WHERE Variable_name = 'log_bin';

Vamos ter o retorno parecido com esse:

+---------------+-------+
  | Variable_name | Value |
  +---------------+-------+
  | log_bin       | ON    |
  +---------------+-------+

Se não estiver "ON", devemos alterar o arquivo "my.ini" que fica localizado em "C:\ProgramData\MySQL\MySQL Server X.X" ( X.X será a versão do MySQL instalado ).

Adicionem as seguintes linhas no final do arquivo:

server-id=1
log-bin=”C:/ProgramData/MySQL/MySQL Server X.Y/Data/bin-log”

Salve e verifique se o Log esta Online.

 

Agora vamos criar um usuário responsável de copiar os dados do Master.

Ainda no terminal MySQL vamos digitar a seguinte linha:

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%' IDENTIFIED BY '123';

 

Agora vamos configurar nosso servidor Slave:

Vamos abrir o arquivo “my.ini”, localizado em “C:\ProgramData\MySQL\MySQL Server X.X” e alterar o “Server-id” para um número diferente do outro servidor.

Com o Terminal do MySQL aberto, vamos digitar o seguinte comando:

SHOW MASTER STATUS;

Vamos ter um retorno parecido com este:

+----------------+----------+--------------+------------------+
  | File           | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  +----------------+----------+--------------+------------------+
  | bin-log.000001 |      005 |              |                  |
  +----------------+----------+--------------+------------------+

Vamos gravar esses dados, eles server para fazer a sincronização.

Vamos digitar as seguintes linhas no terminal:
CHANGE MASTER TO
         MASTER_HOST='IP do MASTER'      ,
         MASTER_USER='replica'           ,
         MASTER_PASSWORD='123'           ,
         MASTER_LOG_FILE='bin-log.000001',
         MASTER_LOG_POS=005              ;

Lembre-se de alterar os o MASTER_LOG_FILE e MASTER_LOG_POS para os dados salvos no passo anterior.

Com tudo configurado já podemos iniciar a sincronização, para isso basta executar no terminal:

START SLAVE;
SHOW SLAVE STATUS \G
 

Se tudo ocorrer bem vamos ter o retorno de um tela com todas as informações da replicação.