Como usar TRIGGER para auditoria de mudanças no seu banco de dados
Olá, querido(a) cliente da GeHost! 👋
Se você já se perguntou: “Quem alterou meu banco de dados e quando?”, hoje vamos aprender algo poderoso e simples: usar TRIGGERS para registrar automaticamente mudanças — como se fosse um diário de bordo do seu banco de dados.
Imagine um sistema que automaticamente anota toda vez que alguém altera, exclui ou insere um registro. Isso é o que o TRIGGER faz — e com ele, você ganha controle, segurança e tranquilidade.
Dica Sensei: TRIGGERS são como alertas invisíveis no seu banco de dados. Eles não precisam de ação sua — só precisam ser criados uma vez e funcionam 24h por dia.
Passo a passo: Como criar um TRIGGER para auditoria
Vamos usar o phpMyAdmin (ferramenta do cPanel) para criar nosso TRIGGER. É bem simples — prometo!
-
Acesse o phpMyAdmin
Na sua área do cPanel, vá até a seção Bancos de Dados e clique em phpMyAdmin.
-
Escolha o banco e a tabela
No painel esquerdo, selecione o banco de dados que deseja monitorar. Depois, clique na tabela que você quer auditar (por exemplo,
usuarios). -
Crie uma tabela de auditoria
Você precisará de uma tabela separada para armazenar os registros de alteração. Clique em Novo no topo e crie uma tabela chamada
auditoria_usuarioscom os seguintes campos:id(int, auto-increment)acao(varchar(20) — "INSERT", "UPDATE", "DELETE")registro_antigo(text)registro_novo(text)data_hora(datetime)
Essa tabela será o "diário" do seu banco.
-
Crie o TRIGGER
Na parte superior do phpMyAdmin, clique em Trigger. Em seguida, clique em Novo Trigger.
Preencha os campos assim:
- Nome do Trigger:
auditar_usuario - Disparador:
DEPOIS - Evento:
INSERT, UPDATE, DELETE - Tabela:
usuarios - Comando SQL:
CREATE TRIGGER auditar_usuario AFTER INSERT ON usuarios FOR EACH ROW INSERT INTO auditoria_usuarios (acao, registro_antigo, registro_novo, data_hora) VALUES ('INSERT', NULL, CONCAT('ID:', NEW.id, ' - Nome:', NEW.nome), NOW()); -- Adicione mais linhas para UPDATE e DELETE conforme necessário
⚠️ Atenção: Substitua
usuarioseauditoria_usuariospelo nome real da sua tabela. UseNEWpara o novo valor eOLDpara o antigo. - Nome do Trigger:
-
Salve o TRIGGER
Após preencher tudo, clique em Salvar. Pronto! Seu TRIGGER está ativo.
-
Teste o sistema
Faça uma alteração no banco: insira um novo usuário, atualize um nome ou exclua um registro. Depois, vá até a tabela
auditoria_usuariose veja o que foi registrado.Pronto! Você agora tem um histórico completo de todas as mudanças.
Por que isso é tão útil?
- Segurança: Identifique alterações suspeitas ou erros humanos.
- Recuperação: Reverta mudanças com base no histórico.
- Conformidade: Mantenha registro de todas as ações (útil para sistemas regulamentados).
Dica Sensei: Use TRIGGERS com moderação. Eles são poderosos, mas podem afetar o desempenho se mal usados. Sempre teste em ambiente de desenvolvimento primeiro!
Conclusão
Com um TRIGGER simples, você transforma seu banco de dados em um sistema de auditoria automática. É como ter um contador invisível que nunca dorme.
Se tiver dúvidas, não hesite em nos chamar. Aqui na GeHost, estamos sempre prontos para ajudar — com paciência, cuidado e um sorriso. 😊
Até a próxima, e que seu banco de dados fique sempre seguro e transparente!