Como agendar a limpeza automática de tabelas temporárias no MySQL Print

  • 0

Como agendar a limpeza automática de tabelas temporárias no MySQL – Guia para Iniciantes

Olá, amigo(a) GeHost! Seja muito bem-vindo(a) ao nosso Sensei da Hosteria! 😊

Hoje vamos aprender juntos como manter seu banco de dados MySQL limpo e funcionando com leveza, usando um recurso super útil: a limpeza automática de tabelas temporárias. Se você já percebeu que seu site está mais lento ou que o espaço do banco está subindo sem motivo, pode ser que essas tabelas temporárias estejam acumulando como "lixo digital". Calma — temos um jeito simples de resolver isso!

Com um pequeno ajuste no cPanel, você pode agendar a limpeza automática dessas tabelas, sem precisar se lembrar de fazer isso toda semana. Vamos lá?

Passo a passo: Agendando a limpeza automática de tabelas temporárias

  1. Entre no cPanel com suas credenciais. Você pode acessar pelo link seu-dominio.com/cpanel ou pelo painel de controle da GeHost.

    Tela de LOGIN do cPanel com campos Usuário e Senha + botão Log in
  2. Depois de logado, localize o grupo de ferramentas chamado Bancos de Dados MySQL. Ele está na seção "Bases de Dados", geralmente com um ícone de banco de dados ou um ícone de MySQL.

    Tela 'Bancos de Dados MySQL' — criar novo banco, modificar e usuários de banco
  3. Clique em Gerenciar Bancos de Dados (ou algo semelhante — o nome pode variar levemente, mas o ícone é bem claro).

    Na lista, encontre o banco de dados que você quer otimizar (geralmente o que está associado ao seu site ou sistema).

  4. Em seguida, procure por uma opção chamada Agendamento de Tarefas (Cron) ou Agendador de Tarefas. Se não vir, pode estar em "Ferramentas Avançadas" ou "Tarefas Agendadas".

    Esse é o coração do processo — onde vamos criar um comando que roda automaticamente.

  5. Clique em Adicionar Tarefa Agendada (ou "Novo Cron").

    Na janela que aparecer, preencha os campos como abaixo:

    • Comando: mysql -u [usuário] -p[senha] -e "DELETE FROM `tabela_temporaria` WHERE `data_criacao` < DATE_SUB(NOW(), INTERVAL 7 DAY);" [nome_do_banco]

    Importante: Substitua os valores entre colchetes:

    • [usuário] → o nome do usuário do MySQL (ex: meusite_user)
    • [senha] → a senha desse usuário (sem espaços)
    • [nome_do_banco] → o nome do banco (ex: meusite_db)

    Exemplo real (sem dados reais):

    mysql -u meusite_user -p123456 -e "DELETE FROM `temp_data` WHERE `created_at` < DATE_SUB(NOW(), INTERVAL 7 DAY);" meusite_db

    💡 Dica: Se o comando não funcionar, verifique se a tabela se chama temp_data, temp_table ou algo parecido. Peça ajuda ao suporte se não souber o nome.

  6. Defina a frequência da tarefa:

    • Minuto: 0
    • Horário: 2
    • Dia do mês: *
    • Mês: *
    • Dia da semana: *

    Isso significa: rodar diariamente às 2h da manhã. Perfeito para limpar dados antigos sem atrapalhar o tráfego do seu site.

  7. Salve a tarefa. Pronto! Agora, a cada dia às 2h, o sistema vai executar o comando e apagar as tabelas temporárias com mais de 7 dias.

    Se quiser mudar o prazo (ex: 14 dias), basta alterar o INTERVAL 7 DAY para INTERVAL 14 DAY.

Por que isso é importante?

As tabelas temporárias são como "cadernos de rascunho" que o MySQL cria durante operações complexas. Quando não são limpas, elas acumulam dados e podem:

  • Consumir muito espaço no disco
  • Diminuir o desempenho do banco
  • Gerar erros em sistemas que dependem de otimização

Com o agendamento automático, você evita tudo isso — sem precisar se lembrar de fazer isso manualmente. É como ter um zelador digital cuidando do seu banco de dados!

Pronto para testar?

Depois de configurar, espere até a próxima execução (geralmente na próxima madrugada). No dia seguinte, você pode entrar no MySQL via cPanel e verificar se as tabelas estão mais leves.

Se precisar de ajuda com o nome da tabela, com o comando ou com algum erro, é só chamar o nosso Suporte GeHost — estamos aqui para te ajudar, com um sorriso e um café virtual! ☕

Até a próxima, e lembre-se: um banco limpo é um banco feliz! 🌿


Was this answer helpful?

« Back