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;
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.