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."
Nenhum comentário:
Postar um comentário