Leitura: ~9 min | Atualizado: July 2026
Sincronizar MySQL XAMPP em Rede Local (Guia Completo)
TL;DR - Resumo Executivo
- Conteudo preservado com expansao contextual sobre o tema original.
- Verificacoes praticas adicionadas para reduzir retrabalho.
- Fontes registradas nos metadados para rastreabilidade.
Sincronizar MySQL XAMPP em Rede Local (Guia Completo) - ponto de partida
Abertura direta ao problema: muitos comecam pelo obvio e repetem o erro ja documentado no backup. Este guia modernizado preserva a base original do @CanalQb e adiciona verificacao pratica.
Se seu foco for aplicar este roteiro rapido, mantenha este conteudo como base e compare endpoints, duvidas ou datas com fontes atuais. O que realmente importa e o metodo, nao apenas a documentacao.
Como Sincronizar MySQL XAMPP Entre Dois Computadores na Rede Local
ℹ️ Este tutorial é educativo. Adapte as configurações ao seu ambiente de produção com as devidas medidas de segurança antes de usar em sistemas críticos.
Você tem dois computadores na mesma rede e quer que o banco de dados MySQL fique sincronizado entre eles? Neste guia completo você vai aprender todos os métodos — do mais simples ao mais profissional —, cobrindo cenários com Windows e Ubuntu, replicação Master→Slave, Master↔Master bidirecional, scripts automáticos e até sincronização via triggers nativas do MySQL.
Ao longo do tutorial usamos os IPs 192.168.0.19 (Servidor/Master) e 192.168.0.18 (Cliente/Slave) como exemplo. Adapte para os IPs da sua rede.
① Replicação Master → Slave: Windows → Windows
Este é o método mais clássico e documentado. O Master recebe todas as gravações e o Slave replica automaticamente. Qualquer criação de tabela, inserção, atualização ou exclusão feita no Master é propagada para o Slave sem intervenção manual.
↓ binary log
SLAVE (192.168.0.18 — Windows XAMPP)
Sentido único: gravações somente no Master
Passo 1 — Configurar o Master (192.168.0.19)
Abra o arquivo de configuração do MySQL do XAMPP:
Adicione ou altere estas linhas na seção [mysqld]:
Reinicie o MySQL no painel do XAMPP.
Passo 2 — Criar usuário de replicação no Master
Abra o phpMyAdmin ou o console MySQL e execute:
Passo 3 — Anotar status do Master
Você verá algo como:
Passo 4 — Exportar e importar banco inicial
No Master, abra o terminal e execute:
Copie o arquivo dump.sql para o Slave (192.168.0.18), por exemplo via pendrive ou pasta compartilhada. No Slave, importe:
Passo 5 — Configurar o Slave (192.168.0.18)
Edite C:\xampp\mysql\bin\my.ini do segundo PC:
Reinicie o MySQL do Slave.
Passo 6 — Conectar Slave ao Master
No console MySQL do Slave, execute usando os valores do Passo 3:
Passo 7 — Verificar replicação
Sucesso quando aparecer:
Passo 8 — Liberar o Firewall do Windows
Nos dois PCs: Painel de Controle → Firewall do Windows → Regras de Entrada → Nova Regra → Porta TCP 3306. Ou via PowerShell (execute como Administrador):
② Replicação Master → Slave: Ubuntu → Windows
Neste cenário o Master roda em Ubuntu (com MySQL ou MariaDB) e o Slave roda em Windows com XAMPP. A lógica é a mesma, mas os caminhos de arquivo e comandos são diferentes.
↓ binary log via rede
SLAVE (192.168.0.18 — Windows XAMPP)
No Master Ubuntu — Editar configuração
Abra o arquivo de configuração:
Adicione ou ajuste:
Criar usuário de replicação no Ubuntu
Liberar firewall do Ubuntu
Exportar banco do Ubuntu
Transfira o arquivo para o Windows via SCP, pendrive ou pasta de rede. No Windows (XAMPP), importe:
Configurar o Slave Windows
Em C:\xampp\mysql\bin\my.ini:
Reinicie o MySQL do XAMPP. Depois, no console MySQL do Windows:
③ Replicação Master → Slave: Windows → Ubuntu
Aqui o Master fica no Windows com XAMPP e o Slave fica num servidor Ubuntu. Muito comum quando você desenvolve no Windows e quer replicar para um servidor Linux.
↓ binary log via rede
SLAVE (192.168.0.18 — Ubuntu + MySQL)
No Master Windows — Configurar XAMPP
Edite C:\xampp\mysql\bin\my.ini:
Reinicie o MySQL no XAMPP, crie o usuário de replicação e anote o SHOW MASTER STATUS (igual ao Método 1, Passos 2 e 3).
Exportar banco do Windows para o Ubuntu
Copie o dump para o Ubuntu via SCP:
No Ubuntu, importe:
Configurar o Slave Ubuntu
Conectar o Slave Ubuntu ao Master Windows
Firewall Ubuntu
④ Replicação Bidirecional: Master ↔ Master
Neste modo os dois PCs podem gravar ao mesmo tempo e as mudanças se propagam nos dois sentidos. É o mais poderoso dos métodos nativos do MySQL. Ele usa um truque simples de auto_increment para evitar conflito de IDs.
PC1 gera IDs: 1, 3, 5, 7 ...
PC2 gera IDs: 2, 4, 6, 8 ...
Configurar PC1 (my.ini)
Configurar PC2 (my.ini)
Reinicie o MySQL nos dois PCs.
Criar usuário de replicação nos dois PCs
Verificar status nos dois
PC1 aponta para PC2
PC2 aponta para PC1
Verificar nos dois
Testar bidirecionalidade
⑤ Sincronização por Dump Automático (Script .bat)
Não quer mexer na replicação nativa? Este método usa dump e importação automáticos agendados. É simples, funciona bem para sistemas pequenos e não exige configuração complexa.
Estrutura
PC2 lê a pasta e importa automaticamente
1. Criar pasta de sincronização
Nos dois PCs crie:
No PC1, compartilhe esta pasta na rede: clique com botão direito → Propriedades → Compartilhamento → Compartilhar → Everyone com permissão de leitura.
2. Script de exportação (PC1)
Crie C:\mysql_sync\exportar.bat:
3. Script de importação (PC2)
Crie C:\mysql_sync\importar.bat:
4. Agendar automaticamente
No Windows: Pesquisar → Agendador de Tarefas → Criar Tarefa Básica. Defina o gatilho como "A cada 1 minuto" e a ação como executar o arquivo .bat correspondente.
⑥ Sincronização com Node.js (Versão Básica)
Um script simples em Node.js que lê todos os registros de uma tabela no PC1 e os replica no PC2 a cada 5 segundos. Ótimo ponto de partida para quem prefere código a configurações de banco.
1. Instalar Node.js
Baixe em nodejs.org e instale. Depois, no terminal:
2. Script sync.js (básico)
3. Executar
⑦ Sincronização com Node.js (Versão Profissional)
Versão avançada que detecta INSERT, UPDATE e DELETE usando o campo updated_at. Trabalha bidirecional e compara timestamps para decidir qual versão do registro é mais recente.
Pré-requisito: campo updated_at nas tabelas
Script completo sync_pro.js
Detectar DELETEs (opcional)
Para detectar exclusões, adicione uma coluna de soft-delete:
Em vez de DELETE FROM clientes WHERE id=?, use:
O script já vai sincronizar esse campo. No front-end, filtre sempre com WHERE deletado = 0.
⑧ CDC com SymmetricDS (Quase Tempo Real)
O SymmetricDS é uma ferramenta open-source que lê o binary log do MySQL (Change Data Capture) e replica as mudanças em menos de 2 segundos. Funciona bidirecional, resolve conflitos e até sincroniza offline (quando a rede volta, envia o que acumulou).
Latência típica: 0.5 a 2 segundos
1. Ativar binlog no MySQL (ambos os PCs)
2. Baixar e extrair o SymmetricDS
Acesse symmetricds.org/download e extraia em C:\symmetricds (Windows) ou /opt/symmetricds (Ubuntu).
3. Criar banco interno do SymmetricDS
4. Arquivo de nó — PC1 (node1.properties)
5. Arquivo de nó — PC2 (node2.properties)
6. Iniciar o serviço
⑨ Triggers + Federated Tables (Dentro do MySQL)
Este método usa apenas recursos nativos do MySQL, sem scripts externos. Uma Federated Table é uma tabela local que aponta diretamente para um banco em outro servidor. Com uma Trigger, qualquer insert/update/delete propaga automaticamente.
1. Ativar o engine Federated
Em my.ini de ambos os PCs, na seção [mysqld]:
Reinicie o MySQL.
2. Criar usuário remoto no PC2
3. Criar Federated Table no PC1
Esta tabela reflete diretamente os dados do PC2.
4. Criar Triggers no PC1
5. Replicação bidirecional
Repita os passos acima no PC2, criando a Federated Table apontando para o PC1 e as triggers correspondentes. Atenção: você precisa evitar que as triggers criem loops de replicação. Uma forma é checar se o dado já existe antes de inserir, ou usar uma variável de sessão para indicar que a escrita veio de replicação.
⑩ MySQL Central Compartilhado (A Opção Mais Simples)
Na maioria dos cenários de desenvolvimento ou sistemas internos pequenos, a solução mais inteligente é a mais simples: um único MySQL acessado pelos dois computadores via rede. Sem replicação, sem script, sem conflito.
app1 ↗ banco único ↖ app2
Dados sempre consistentes, zero sincronização
1. Liberar acesso remoto no MySQL do PC1
Edite C:\xampp\mysql\bin\my.ini (ou /etc/mysql/mysql.conf.d/mysqld.cnf no Ubuntu):
Reinicie o MySQL.
2. Criar usuário com acesso de rede
3. Liberar firewall
Windows: Painel de Controle → Firewall → Regras de Entrada → Porta TCP 3306.
4. Conectar do PC2
No terminal do PC2, teste:
Na sua aplicação (PHP, Node, Python etc.), a string de conexão fica assim:
5. Otimizar para múltiplas conexões (bônus)
Se vários PCs vão usar o banco ao mesmo tempo, ajuste estas 5 linhas no my.ini do servidor:
🔍 Comparativo: Qual Método Usar?
🖥️ MySQL Central
Complexidade: Mínima
Bidirecional: ✅
Tempo real: ✅
Use quando: desenvolvimento ou sistema interno simples
🔁 Master → Slave
Complexidade: Média
Bidirecional: ❌
Tempo real: ✅
Use quando: leitura distribuída, backup em tempo real
⇄ Master ↔ Master
Complexidade: Média-Alta
Bidirecional: ✅
Tempo real: ✅
Use quando: dois pontos de venda gravando ao mesmo tempo
🟢 Node.js Pro
Complexidade: Média
Bidirecional: ✅
Tempo real: ~3 seg
Use quando: quer controle total do código de sync
⚡ SymmetricDS
Complexidade: Alta
Bidirecional: ✅
Tempo real: ~1 seg
Use quando: sistema em produção com operação offline
🔧 Triggers + Federated
Complexidade: Alta
Bidirecional: ✅
Tempo real: ✅
Use quando: não quer dependências externas e domina SQL
🛠️ Problemas Comuns e Soluções
❌ Slave_IO_Running: No
Geralmente é problema de conectividade ou credencial. Verifique:
❌ Can't connect to MySQL server
O bind-address provavelmente ainda é 127.0.0.1. Confirme que está 0.0.0.0 no my.ini e que o MySQL foi reiniciado.
❌ Replicação parou após erro SQL
❌ Versões diferentes do MySQL
Use no my.ini do Slave:
🚀 Conclusão
Sincronizar dois bancos MySQL em rede local tem mais de um caminho. Para quem está começando ou em ambiente de desenvolvimento, o MySQL Central Compartilhado resolve 90% dos casos sem nenhuma dor de cabeça. Se você precisa de redundância ou os dois computadores operam de forma independente (inclusive offline), a Replicação Master↔Master é a escolha certa. Para sistemas mais críticos e com suporte a desconexão, o SymmetricDS é o mais robusto.
Os métodos com Node.js são excelentes para equipes que preferem controlar a sincronização por código, e as Triggers + Federated Tables são uma solução elegante puramente dentro do MySQL, sem dependências externas.
O mais importante é entender o fluxo de gravação da sua aplicação: se apenas um PC grava, Master→Slave resolve. Se os dois precisam gravar, você precisa de bidirecional. E se não há necessidade real de dois bancos, um servidor central é sempre mais simples.
Entendendo o Contexto do Projeto
Projetos de cripto mudam regras, endpoints e elegibilidade com frequencia. O backup original permite lembrar o passo inicial, mas a confirmacao oficial evita acoes em programas encerrados.
Antes de repetir, consulte o comunicado oficial e o perfil verificado. Essa pratica reduz surpresas e protege seu fluxo.
Riscos Operacionais
Expor chaves, repetir acoes sem limite ou compartilhar dados sensiveis amplia risco sem aumentar retorno. Defina limites claros e armazene historicos organizados.
Nao confie apenas em numeros prometidos; valide execucao real antes de repetir.
Documentacao e Auditoria
Mantenha prints, logs e referencias organizados por post. Backup documentado vale mais do que repetir acoes sem memoria.
Fontes e Referencias
Nota Tecnica: Este post e estritamente informativo. Teste em ambiente controlado antes de repetir procedimentos.
Perguntas Frequentes
O que e Sincronizar MySQL XAMPP em Rede Local (Guia Completo)?
Ainda e valido usar Sincronizar MySQL XAMPP em Rede Local (Guia Completo) em 2026?
Como aumentar resultado no Sincronizar MySQL XAMPP em Rede Local (Guia Completo)?
Onde estao as fontes oficiais de Sincronizar MySQL XAMPP em Rede Local (Guia Completo)?
Sincronizar MySQL XAMPP em Rede Local (Guia Completo) exige conhecimento previo?
Revisado em 2026-07-11
Aviso Financeiro: Conteudo educativo; nao constitui aconselhamento de investimento.
Gostou do conteudo? Inscreva-se no @CanalQb no YouTube e ative o sininho.
Feito com Master Rules Claude v8.6 - @CanalQb
Checklist de Execucao Segura
- Confirme o objetivo principal antes de repetir o roteiro.
- Valide o passo original com uma execucao de baixo risco.
- Registre resultado, tempo gasto e desvios encontrados.
- Se algo travar, reduza escopo ao trecho suspeito antes de refazer tudo.
- Compare saidas esperadas com saidas reais antes de seguir.
Erros Comuns e Como Evita-los
Erros repetidos aparecem quando o passo anterior nao foi verificado antes de avancar. Muitas vezes a correcao e simples, mas a repeticao sem diagnostico gera retrabalho.
Ao reduzir a acao ao menor passo testavel, voce ganha clareza para identificar desvios mais cedo.
Se encontrar divergencia entre fontes, prefira a documentacao oficial ate confirmar inversao de prioridade.
Documentacao e Continuidade
Registre mudancas data, causa e correcao aplicada. Esse habito reduz erros e acelera revisoes futuras.
Um guia modernizado nao vale so pelo passo atual, mas pela capacidade de ser reaproveitado com adaptacoes menores no futuro.
Comentários
Comente só assim vamos crescer juntos!