Configuração de Replicação Mestre-Escravo no MySQL

Este guia detalha a configuração de replicação mestre-escravo no MySQL versão 5.5.58, garantindo sincronização entre um servidor principal e um ou mais servidores secundários.

1. Configuração do Servidor Mestre

Edite o arquivo de configuração do MySQL (geralmente my.cnf) no servidor mestre com as seguintes diretivas:

server-id = 1                    # Identificador único do servidor (diferente entre mestre e escravo)
log_bin = mysql-bin              # Ativa o log binário (obrigatório para o mestre)
binlog-do-db = test              # Banco de dados a ser replicado para o escravo
binlog-ignore-db = mysql         # Banco de dados a ser ignorado na replicação
binlog-ignore-db = performance_schema
binlog-ignore-db = information_schema
expire_logs_days = 2             # Remove logs binários com mais de 2 dias

2. Verificação do Status do Mestre

Reinicie o MySQL no servidor mestre e execute o comando abaixo para obter informações essenciais da replicação:

SHOW MASTER STATUS;

Anote os valores de File e Position (exemplo: mysql-bin.000002 e 554), que serão usados na configuração do escravo.

3. Configuração do Servidor Escravo

No servidor escravo, edite o arquivo my.cnf com os seguintes parâmetros:

server-id = 2                    # Identificador único (deve ser diferente do mestre)
master-host = 192.168.1.121      # Endereço IP do servidor mestre
master-user = root                # Usuário para conexão com o mestre
master-password = root            # Senha do usuário
master-port = 3306                # Porta de conexão do MySQL
master-connect-retry = 60         # Intervalo (em segundos) entre tentativas de reconexão
replicate-ignore-db = mysql       # Bancos a ignorar na replicação
replicate-do-db = test            # Banco a replicar
log-slave-update                  # Habilita logging no escravo (para replicação em cascata)
slave-skip-errors = all           # Ignora erros durante a replicação

4. Inicialização da Replicação

No servidor escravo, dentro do MySQL, execute o comando para definir a conexão com o mestre:

CHANGE MASTER TO
  MASTER_HOST='192.168.1.121',
  MASTER_USER='root',
  MASTER_PASSWORD='root',
  MASTER_LOG_FILE='mysql-bin.000002',
  MASTER_LOG_POS=554;

Em seguida, inicie o processo de replicação:

START SLAVE;

5. Verificação do Funcionamento

Para confirmar se a replicação está ativa, execute:

SHOW SLAVE STATUS\G;

Verifique as variáveis Slave_IO_Running e Slave_SQL_Running. Ambas devem estar com o valor Yes para indicar sucesso. Caso contrário, analise a coluna Last_Error para identificar problemas.

Comandos Úteis para Administração

SHOW SLAVE STATUS\G;            # Status detalhado do escravo
SHOW MASTER STATUS\G;           # Status do mestre
SHOW MASTER LOGS;               # Lista logs binários (no escravo)
SHOW BINARY LOGS;               # Lista logs binários (no mestre)
FLUSH LOGS;                     # Cria um novo log binário
RESET MASTER;                   # Limpa todos os logs binários (reinicia numeração)
STOP SLAVE;                     # Interrompe o escravo
RESET SLAVE;                    # Reinicia configurações do escravo
START SLAVE;                    # Inicia o escravo

Tags: MySQL Replicação Mestre-Escravo Binlog Configuração MySQL Administração MySQL

Publicado em 7-7 02:15