MySQL Replication · 2 min read · Feb 02, 2026

Replicação Master-Master Com MySQL 5 No Fedora 8

Replicação Master-Master Com MySQL 5 No Fedora 8

Versão 1.0
Autor: Oliver Meyer

Este documento descreve como configurar a replicação master-master com MySQL 5 no Fedora 8. Desde a versão 5, o MySQL vem com suporte embutido para replicação master-master, resolvendo o problema que pode ocorrer com chaves geradas automaticamente. Nas versões anteriores do MySQL, o problema com a replicação master-master era que conflitos surgiam imediatamente se o nó A e o nó B inserissem uma chave auto-incrementada na mesma tabela. As vantagens da replicação master-master sobre a replicação tradicional master-slave são que você não precisa modificar suas aplicações para fazer acessos de gravação apenas no master, e que é mais fácil fornecer alta disponibilidade, pois se o master falhar, você ainda terá o outro master.

Este guia é um manual prático sem qualquer garantia - não cobre os fundamentos teóricos. Existem muitas maneiras de configurar tal sistema - este é o caminho que escolhi.

1 Preparação

Para este guia, configurei dois sistemas Fedora 8 (instalação mínima sem gui etc.) com a seguinte configuração.

1.1 Sistema 1

Hostname: server1.example.com
IP: 192.168.0.100

1.2 Sistema 2

Hostname: server2.example.com
IP: 192.168.0.200

2 MySQL

2.1 Pacotes Necessários Em Ambos os Sistemas

Se você não instalou o MySQL em ambos os sistemas, pode instalá-lo (cliente e servidor) via:

yum -y install mysql mysql-server

2.2 Início Inicial do Servidor MySQL Em Ambos os Sistemas

Inicie o servidor MySQL.

/etc/init.d/mysqld start

2.3 Senha do Root do MySQL

2.3.1 Ambos os Sistemas

Defina uma senha para o usuário root do MySQL no localhost.

mysqladmin -u root password %sql_root_password%

2.3.2 Sistema 1

Defina uma senha para o usuário root do MySQL em server1.example.com.

mysqladmin -u root -h server1.example.com password %mysql_root_password%

2.3.3 Sistema 2

Defina uma senha para o usuário root do MySQL em server2.example.com.

mysqladmin -u root -h server2.example.com password %mysql_root_password%

2.4 Usuário de Replicação do MySQL

2.4.1 Sistema 1

Crie o usuário de replicação que o Sistema 2 usará para acessar o banco de dados MySQL no Sistema 1.

mysql -u root -p

GRANT REPLICATION SLAVE ON *.* TO 'slave2_user'@'%' IDENTIFIED BY '%mysql_slaveuser_password%'; FLUSH PRIVILEGES; quit;

2.4.2 Sistema 2

Crie o usuário de replicação que o Sistema 1 usará para acessar o banco de dados MySQL no Sistema 2.

mysql -u root -p

GRANT REPLICATION SLAVE ON *.* TO 'slave1_user'@'%' IDENTIFIED BY '%mysql_slaveuser_password%'; FLUSH PRIVILEGES; quit;

2.5 Banco de Dados No Sistema 2

Eu presumo que o banco de dados exampledb já exista no Sistema 1 - contendo tabelas com registros. Portanto, precisamos criar um banco de dados vazio com o mesmo nome que o banco de dados existente no Sistema 1.

mysql -u root -p

CREATE DATABASE exampledb; quit;

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.