Mostrando postagens com marcador Logs. Mostrar todas as postagens
Mostrando postagens com marcador Logs. Mostrar todas as postagens

domingo, 27 de abril de 2025

Como expurgar binlogs do MySQL

Como expurgar binlogs do MySQL com a partição cheia

Publicado por Sysadmin Urbano | Infraestrutura, SysOps e DevOps

Um guia prático para quem vive na linha de frente da operação de sistemas.

Como expurgar binlogs do MySQL quando a partição está 100% cheia

O que fazer quando o disco enche e o MySQL trava por conta dos binlogs acumulados.

📦 O problema

Quando a partição do servidor MySQL atinge 100% de uso, o banco de dados não consegue mais gravar novos arquivos binários nem atualizar o index (mysql-bin.index), impedindo o expurgo automático dos binlogs antigos.

🔧 Solução recomendada (com MySQL parado)

1. Pare o MySQL

sudo systemctl stop mysql

2. Acesse a pasta dos binlogs

cd /var/lib/mysql

3. Liste os arquivos e remova os antigos manualmente

ls -lh mysql-bin.*
sudo rm mysql-bin.000001 mysql-bin.000002

4. Edite o index mysql-bin.index

Remova as linhas que apontam para os arquivos deletados:

sudo nano mysql-bin.index

5. Inicie novamente o MySQL

sudo systemctl start mysql

💡 Alternativa com o MySQL em execução

Caso o MySQL ainda esteja rodando (com algum espaço livre):

PURGE BINARY LOGS TO 'mysql-bin.000010';

ou:

PURGE BINARY LOGS BEFORE NOW() - INTERVAL 7 DAY;

✅ Dica de prevenção

Adicione ao seu my.cnf:

expire_logs_days = 7
max_binlog_size = 100M
"Às vezes, apagar com cuidado é a melhor forma de manter o controle."

SysadminUrbano • Guia Técnico: Migração Windows 10 -> Windows 11 com Backup Completo

Migração Windows 10 → Windows 11: Backup completo e restauração sem perdas Checklist técnico com comandos, exportações e reaproveit...