Como visualizar uma lista de consultas do MySQL executadas anteriormente em um formato de feed ativo?

1

Como posso ver as últimas consultas de execução no MySQL em um formato de feed ativo?

Eu quero deixar minha janela de terminal aberta e fazer com que as consultas do MySQL apareçam na tela sempre que algo for executado. Eu sei que posso fazer isso com o comando tail, mas não tenho certeza de onde os logs do MySQL estão armazenados. Eu também posso fazer mysqladmin proc, mas isso não me dá um feed ao vivo contínuo.

    
por Patoshi パトシ 26.04.2013 / 21:15

2 respostas

3

Você tem algumas opções aqui. Você pode habilitar o registro geral de consultas para o MySQL, adicionando:

 log = /path/to/your/log.log

para o seu my.cnf (normalmente /etc/my.cnf) e reiniciando. Você pode segui-lo conforme necessário. Eu não recomendaria necessariamente isso, pois esse log pode crescer bastante ao longo do tempo.

Sua segunda opção, como você mencionou, é usar watch em conjunto com mysqladmin proc. Por exemplo, você pode usar:

 watch -n.5 'mysqladmin proc stat'

para mostrar a lista e o status do processo a cada meio segundo. Você pode alterar -n.5 para atender às suas necessidades específicas (prefiro adicionar stat à linha para fornecer as informações extras, que às vezes podem ser úteis).

Espero que isso ajude.

    
por 27.04.2013 / 01:42
0

Todas as consultas são gravadas em um arquivo no sistema chamado ".mysqlhistory". Você pode executar o comando abaixo para visualizar ativamente as consultas que estão sendo executadas no seu banco de dados.

find / -name ".mysqlhistory" -exec 'tail -f'

    
por 27.04.2013 / 04:48

Tags