Logo

Backup com Desempenho: Como o mydumper Pode Salvar Seu Dia

A maneira mais rápida e inteligente de proteger seu banco de dados gigante, mesmo à distância.

Realizar o backup de um banco MySQL com centenas de gigabytes (ou terabytes) é um processo crítico — e potencialmente doloroso — principalmente quando o servidor está em nuvem, numa rede de cliente, ou sem acesso SSH direto.

Nessas situações, o uso de ferramentas tradicionais como o mysqldump pode consumir horas (ou até dias), além de impactar o desempenho do banco durante a extração. Isso se torna ainda mais sensível quando falamos de ambientes de produção ou janelas curtas de manutenção.

Backup Paralelo, Leve e Consistente

O mydumper foi criado por engenheiros do Facebook como uma alternativa ao mysqldump, com foco em performance, escalabilidade e consistência.

Principais vantagens do mydumper:

  • Paralelismo nativo: usa múltiplas threads para exportar tabelas simultaneamente.
  • Baixo impacto no servidor: com opção --single-transaction, permite dumps consistentes sem travar tabelas.
  • Compactação embutida:gera arquivos .gz já prontos para transporte.
  • Facilidade de restauração: com myloader.
Cenário mysqldump mydumper (8 threads)
Banco de dados com 200 GB ~3h50min ~22min
Banco com 1,5 TB Estimado: 24h+ ~2h (dependendo da rede e I/O)
Impacto no servidor Alto (leitura linear e lenta) Baixo (leitura paralela e eficiente)
Consistência transacional Requer opções específicas Padrão com --single-transaction
Compressão embutida Não Sim (--compress)

Como Instalar o mydumper no Seu Ambiente

No Ubuntu/Debian:

sudo apt update
sudo apt install mydumper

Versão mais atual (compilando do código-fonte):

sudo apt install build-essential cmake libglib2.0-dev libmysqlclient-dev zlib1g-dev libssl-dev
git clone https://github.com/mydumper/mydumper.git
cd mydumper && mkdir build && cd build
cmake .. && make
sudo make install

macOS com Homebrew:

brew install mydumper

No Amazon Linux 2023:

sudo yum install mydumper -y

No Windows use o Ubuntu via WSL ou uma imagem Docker com o mydumper instalado.

Como Fazer o Backup com mydumper

Você pode usar o mydumper a partir da sua máquina local, conectando-se ao banco MySQL remotamente via IP ou DNS público.

Backup básico de todas as bases com compressão:

mydumper \
  --host=meubanco.cliente.com.br \
  --user=usuario \
  --password=senha \
  --outputdir=./backup_hoje \
  --compress \
  --threads=8 \
  --routines \
  --triggers

Backup de uma base específica:

mydumper \
  --host=servidor \
  --user=usuario \
  --password=senha \
  --database=nome_base \
  --outputdir=./backup \
  --compress \
  --threads=4

Restauração com myloader:

myloader --host=servidor --user=usuario --password=senha --directory=./backup --threads=8

Conclusão

Se você precisa realizar backups de bancos MySQL grandes remotamente, o mydumper se destaca como uma ferramenta confiável, rápida e escalável. Ele reduz o tempo de backup drasticamente, oferece compressão automática, preserva a consistência transacional e permite extrações com baixo impacto no servidor.

Referências