MariaDB: Replicação Master-Slave

 

Em tempos, fiz um post sobre o Galera cluster, que é um mecanismo mais sofisticado e que se tem apostado mais.

No entanto uma simples replicação de dados entre um MASTER e SLAVE pede uma configuração simples.

Este SLAVE pode servir ter um servidor dedicado para leitura e queries de suporte a decisão, retirando esta carga do servidor MASTER, pode servir até mesmo Disaster Recovery.

Neste tipo de replicação, temos uma instância como MASTER e uma ou mais como SLAVE:

dbreplication173

 

 

 

 

 

 

 

 

Vamos a configuração, esta configuração, obviamente, também funciona com o MySQL:

1) No MASTER temos que colocar, no mínimo os seguintes parâmetros (no my.cnf):

[mysqld]
log-basename=master
log-bin
binlog-format=row
server_id=1

 

2) Depois de reiniciar a instância, temos que criar o user para a replicação, no MASTER:

CREATE USER ‘replication_user’@’%’ IDENTIFIED BY ‘mariadb’;

GRANT REPLICATION SLAVE ON *.* TO ‘replication_user’@’%’;

 

 

3) Ver o “o ponto de partida” para que o SLAVE saiba a partir que que ponto deve aplicar as alterações no SLAVE:

SHOW MASTER STATUS;
+--------------------+----------+--------------+------------------+
| File               | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+----------+--------------+------------------+
| log-bin.000001     |      310 |              |                  |
+--------------------+----------+--------------+------------------+

 

4) Caso seja necessário, (ou por exemplo, se a base de dados MASTER já tiver dados aplicacionais), deve se realizar uma exportação e importação de dados:

Para esta tarefa pode-se utilizar um backup/restore ou export/import de dados, para mais informação pode consultar o material deste Link.

5) No SLAVE configurar o processo de réplica:

CHANGE MASTER TO
MASTER_HOST=’192.168.56.200′,
MASTER_USER=’replication_user’,
MASTER_PASSWORD=’mariadb’,
MASTER_PORT=3306,
MASTER_LOG_FILE=’log-bin.000001′,
MASTER_LOG_POS=310,
MASTER_CONNECT_RETRY=10;

Os parâmetros MASTER_LOG_FILE e MASTER_LOG_POS são baseados no output do passo “3)“.

6) Iniciar o processo de replicação:

START SLAVE;

 

Depois o processo já está a funcionar, no SLAVE, podes validar o status como o comando:

SHOW SLAVE STATUS;

Slave

 

 

 

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s