Como agendar consultas SQL recorrentes usando o Event Scheduler do MySQL
Olá, querido(a) cliente! Aqui é o seu Sensei da GeHost — e hoje vamos aprender juntos uma super habilidade para deixar seu banco de dados mais inteligente e autossuficiente. 🌟
Imagine que você precisa limpar dados antigos toda semana, gerar relatórios automáticos ou atualizar status de pedidos todos os dias… Sem precisar se lembrar de fazer isso manualmente. Com o Event Scheduler do MySQL, isso é possível!
O que é o Event Scheduler?
É uma função do MySQL que permite agendar tarefas SQL para serem executadas automaticamente, em horários definidos — como um relógio interno no seu banco de dados.
Dica do Sensei: Você pode pensar nisso como um "assistente virtual" que faz tarefas repetitivas no banco de dados, sem precisar estar lá o tempo todo.
Passo a passo: Ativar e usar o Event Scheduler
-
Entre no cPanel do seu site. Use seu login e senha no painel da GeHost: painel.gehost.com.br.
-
No cPanel, localize e clique em MySQL Databases (Bancos de Dados MySQL).
-
Verifique se o Event Scheduler está ativado. Para isso, abra o phpMyAdmin (você pode acessar por "phpMyAdmin" no cPanel).
No phpMyAdmin, vá até a aba SQL e digite o comando:
SHOW VARIABLES LIKE 'event_scheduler';Se a resposta for
ON, ótimo! O scheduler está ativado. Se estiverOFF, você precisará entrar em contato com o suporte da GeHost para habilitar — pois, por segurança, ele vem desativado por padrão em alguns ambientes. -
Quando ativado, você pode criar um evento. Vamos criar um exemplo simples: limpar logs antigos a cada 7 dias.
No phpMyAdmin, vá à aba SQL e digite o seguinte comando:
CREATE EVENT IF NOT EXISTS limpar_logs_antigos ON SCHEDULE EVERY 7 DAY DO DELETE FROM tabela_logs WHERE data_criacao < NOW() - INTERVAL 30 DAY;💡 Adapte o nome do evento, o intervalo (ex:
EVERY 1 DAY), o nome da tabela e a condição de exclusão conforme sua necessidade. -
Após digitar o comando, clique em Executar.
Se não aparecer erro, seu evento foi criado com sucesso! Ele agora será executado automaticamente a cada 7 dias.
-
Para verificar todos os eventos criados, use este comando no phpMyAdmin:
SHOW EVENTS;Isso mostra uma lista de todos os eventos ativos no seu banco de dados.
-
Se precisar editar ou remover um evento, use:
ALTER EVENT nome_do_evento ON SCHEDULE EVERY 1 DAY;DROP EVENT IF EXISTS nome_do_evento;
Importante: Dicas do Sensei
- Teste sempre antes de colocar em produção: Crie o evento com um intervalo curto (ex: 1 minuto) para testar se a consulta está correta.
- Não use comandos perigosos sem cuidado: Evite
DELETE FROM tabelasem condição. Sempre useWHEREpara não apagar tudo! - Eventos não são executados se o MySQL reiniciar: O scheduler é persistente, mas em alguns casos de reinício, pode precisar ser reativado. O suporte da GeHost pode ajudar com isso.
- Se precisar de ajuda: Abra um chamado no painel do cliente e peça suporte técnico. Estamos aqui para você!
Quer saber mais?
Se você quer automatizar tarefas como:
- Gerar relatórios semanais
- Limpar dados antigos
- Atualizar status de pedidos
- Enviar e-mails automáticos (com ajuda de scripts PHP)
O Event Scheduler é seu aliado! Com ele, seu sistema cresce com mais inteligência e menos trabalho manual.
Seu Sensei da GeHost está aqui com carinho, sempre que precisar. 🌿
Com amor e código,
Sensei da GeHost