MySQL

Backup e replicação no MySQL: um guia prático de sobrevivência

PG Monitoring Team May 10, 2026 8 min de leitura

Um backup que você nunca restaurou é uma esperança, não um backup — e uma réplica que você não monitora é um ponto único de falha silencioso. Este guia cobre o essencial de MySQL que todo operador precisa: backups lógicos vs físicos, recuperação point-in-time e replicação baseada em GTID feita do jeito certo.

Dois tipos de backup, dois trabalhos diferentes

Backups lógicos exportam comandos SQL; backups físicos copiam os arquivos de dados. Você precisa saber qual atende seu objetivo de recuperação.

# Lógico — portátil, restore lento, ótimo para bancos pequenos/médios
mysqldump --single-transaction --routines --triggers \
  --all-databases > full.sql

# Físico — restore rápido de bancos grandes, lock quase zero com XtraBackup
xtrabackup --backup --target-dir=/backups/full

O --single-transaction é crítico: ele dá um snapshot consistente das tabelas InnoDB sem travar escritas. Sem ele, o mysqldump num servidor movimentado produz um dump inconsistente.

Recuperação point-in-time precisa de binary logs

Só um backup full noturno significa até 24 horas de perda de dados. O binary log é o equivalente ao WAL do MySQL — habilite-o e você pode reaplicar transações até o segundo antes do desastre:

# my.cnf
log_bin = mysql-bin
binlog_format = ROW
server_id = 1

# Restore: carregue o backup full e reaplique os binlogs até um instante
mysqlbinlog --stop-datetime="2026-05-10 14:29:59" \
  mysql-bin.000042 | mysql

Replicação com GTIDs

Os Global Transaction Identifiers tornam a replicação muito mais simples de raciocinar que a antiga abordagem de arquivo-e-posição — cada transação tem um ID único, então failover e reapontar réplicas "simplesmente funcionam".

# Nos dois servidores, my.cnf
gtid_mode = ON
enforce_gtid_consistency = ON
log_bin = mysql-bin

# Na réplica
CHANGE REPLICATION SOURCE TO
  SOURCE_HOST='primary.internal',
  SOURCE_USER='repl', SOURCE_PASSWORD='secret',
  SOURCE_AUTO_POSITION=1;
START REPLICA;

Sempre verifique a réplica

SHOW REPLICA STATUS\G
-- Procure por:
--   Replica_IO_Running: Yes
--   Replica_SQL_Running: Yes
--   Seconds_Behind_Source: 0

O Seconds_Behind_Source é sua métrica de lag — mas, como o número único de lag do PostgreSQL, ele esconde se o atraso é rede, disco ou uma consulta lenta na réplica. E um backup que você nunca restaurou não é um backup: teste a recuperação com regularidade.

Um painel para um parque poliglota

A maioria das empresas roda mais de um engine. O PG Monitoring concentra sua inteligência mais profunda no PostgreSQL, mas a disciplina é idêntica em todo lugar: acompanhar o lag de replicação continuamente, alertar sobre paradas e verificar que os backups realmente restauram — para que uma falha silenciosa de réplica nunca vire um evento silencioso de perda de dados.

Related Articles

Encontre esse problema antes que ele afete a produção

Monitore queries, capacidade, autovacuum, índices e replicação continuamente com contexto operacional.

Fale conosco