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 mysql2. 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.0000024. Edite o index mysql-bin.index
Remova as linhas que apontam para os arquivos deletados:
sudo nano mysql-bin.index5. 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."

Nenhum comentário:
Postar um comentário