Como usar TRIGGER para auditoria de mudanças Print

  • 0

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!

  1. Acesse o phpMyAdmin

    Na sua área do cPanel, vá até a seção Bancos de Dados e clique em phpMyAdmin.

    Tela 'Bancos de Dados MySQL' — lista de bancos e botão phpMyAdmin
  2. 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).

  3. 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_usuarios com 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.

  4. 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 usuarios e auditoria_usuarios pelo nome real da sua tabela. Use NEW para o novo valor e OLD para o antigo.

  5. Salve o TRIGGER

    Após preencher tudo, clique em Salvar. Pronto! Seu TRIGGER está ativo.

    Tela 'Bancos de Dados MySQL' — lista de bancos e botão phpMyAdmin
  6. 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_usuarios e 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!


Was this answer helpful?

« Back