Gravar log de consultas e querys no MySQL

Muitas vezes cuando fazendo uma engenharia reversa em um sistema, a primeira tarefa é identificar interacoes entre o codigo fonte do sistema e o banco de dados.
Para isto acessamos o sistema por uma interface, e interagimos adicionando um cadastro, editando ou qualquer outra acao semelhante.
Depois ao ver o codigo fonte feito por outro programador, itenficamos objetos sendo criados, funcoes, ifs, foors, cases, e insertes em 5 tabelas, tudo mais que um programador pode imagina.

Bem, uma maneira de ajudar nesta tarega, é salvando o log do MySQL para armazenar toda interacao enviada a instancia do banco de dados.

EM SGBD execute o seguinte codigo:

SET global general_log = 1;
SET global log_output = 'table';

En seguida realize a interacao no sistema normalmente. Depois basta executar a seguinte query:

select * from mysql.general_log

Ou melhor:

select argument from mysql.general_log

Será visualizada uma consulta semelhante a esta:

general_log

E se quizer algo mais sofisticado, podemos remover linhas indesejadas para nossa analise:

SELECT 
	argument  
FROM 
	mysql.general_log
WHERE  
		 argument  NOT LIKE '%localhost%' 
	and argument  NOT LIKE '%SET NAMES%' 
	and argument  NOT LIKE '%SHOW%' 
	and argument  NOT LIKE '%EVENT_SCHEMA%' 
	and argument <>  ''

Isto é tudo. Espero que a informacao seja util.

Deixe um comentário

Eu sou o Diego

Bem vindo ao meu website. Sim, aqui falamos sobre technologia. Simplesmente simples, fazendo o que se deve fazer em uma vida saudável, fazer tudo aquilo que gosta.

Vamos conectar!