Log de consulta geral do MySQL: Mostrar valores de argumentos preparados?

2

Quando eu habilito o log de consulta geral do MySQL, as execuções de instruções preparadas são registradas assim:

Execute SELECT col1, col2 FROM table1 WHERE col1 = ?

Eu vi outras informações na Internet que, acredito, mostram pessoas vendo os valores substituídos para argumentos de instrução preparados, mas não consigo encontrar nenhuma informação sobre isso.

Eu preciso ver os valores sendo usados em consultas, e não posso fazê-lo no lado do cliente porque ele é código compilado (embora eu tenha tentado dizer para ele se conectar na porta 3306, mas ngrep não mostra nenhum tráfego Suponho que esteja usando um soquete, se disponível, e não sei como seria fácil reconstruir consultas preparadas com um sniff de pacote, de qualquer maneira).

Se eu definir long_query_time = 0 , o log de consultas lentas mostrará os valores que eu estou procurando? Quais outras possibilidades existem?

    
por chell 14.11.2016 / 04:45

2 respostas

1

Definindo long_query_time = 0 e slow_query_log = 1 , reiniciar o mysql mostra as consultas com seus valores de argumentos reais no log de consultas lentas.

Não aceitarei essa resposta aguardando uma maneira melhor de obter o log de consulta geral para mostrar os valores do argumento.

    
por 14.11.2016 / 06:16
0

Você precisa rastrear consultas em dev ou prod? Se dev apenas você pode dar uma olhada em Lottip . Ele mostra instruções preparadas com seus parâmetros.

    
por 08.07.2017 / 21:41

Tags