A replicação Master-Master no MariaDB permite que dois servidores estejam sincronizados de forma que ambos possam realizar leituras e escritas simultâneas. Esta configuração é útil para alta disponibilidade e balanceamento de carga em grandes ambientes de banco de dados. Neste tutorial, iremos guiá-lo na configuração da replicação Master-Master no MariaDB em servidores rodando Debian 11.
Requisitos
- Dois servidores Debian 11
- Usuário com privilégios sudo
- MariaDB instalado em ambos os servidores
Passo 1: Atualizar o Sistema
Antes de começar, atualize ambos os servidores para garantir que todos os pacotes estejam atualizados:
sudo apt update && sudo apt upgrade -y
Passo 2: Instalar o MariaDB
Se o MariaDB não estiver instalado, você pode instalá-lo em ambos os servidores com o seguinte comando:
sudo apt install mariadb-server -y
Passo 3: Configurar o MariaDB no Servidor 1
Abra o arquivo de configuração do MariaDB para editar as opções de replicação no primeiro servidor:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Adicione ou modifique as seguintes linhas na seção [mysqld]:
[mysqld]
server-id=1
log_bin=/var/log/mysql/mysql-bin.log
binlog_do_db=nome_do_banco
auto_increment_increment=2
auto_increment_offset=1
Salve o arquivo e reinicie o MariaDB:
sudo systemctl restart mariadb
Passo 4: Configurar o MariaDB no Servidor 2
No segundo servidor, edite o arquivo de configuração da mesma forma:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Adicione ou modifique as seguintes linhas:
[mysqld]
server-id=2
log_bin=/var/log/mysql/mysql-bin.log
binlog_do_db=nome_do_banco
auto_increment_increment=2
auto_increment_offset=2
Salve o arquivo e reinicie o MariaDB:
sudo systemctl restart mariadb
Passo 5: Configurar o Usuário de Replicação
Agora, precisamos criar um usuário de replicação em ambos os servidores. Execute o seguinte comando no Servidor 1 e no Servidor 2 dentro do MariaDB:
CREATE USER 'replicador'@'%' IDENTIFIED BY 'senha_forte';
GRANT REPLICATION SLAVE ON *.* TO 'replicador'@'%';
FLUSH PRIVILEGES;
Passo 6: Obter Informações do Master
No Servidor 1, execute o seguinte comando para obter as informações do log binário:
SHOW MASTER STATUS;
Anote o nome do arquivo e a posição. Repita o processo no Servidor 2.
Passo 7: Configurar a Replicação
No Servidor 1, configure o segundo servidor como slave:
CHANGE MASTER TO
MASTER_HOST='IP_DO_SERVIDOR_2',
MASTER_USER='replicador',
MASTER_PASSWORD='senha_forte',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS= posição_log;
No Servidor 2, configure o primeiro servidor como slave:
CHANGE MASTER TO
MASTER_HOST='IP_DO_SERVIDOR_1',
MASTER_USER='replicador',
MASTER_PASSWORD='senha_forte',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS= posição_log;
Inicie o slave em ambos os servidores:
START SLAVE;
Passo 8: Verificar o Status da Replicação
Verifique se a replicação está funcionando corretamente nos dois servidores:
SHOW SLAVE STATUS\G;
Servidor VPS
Se precisar de um servidor VPS para configurar sua replicação Master-Master no MariaDB, veja as opções disponíveis aqui.