Skip to content

Exibir queries do MySQL

Last Updated on 27/12/2023

Este tutorial irá mostrar como exibir queries do MySQL em um arquivo de log, de modo a disponibilizar qualquer query executada para posterior análise.

Após logar na sua instância do MySQL, execute o comando abaixo para obter as informações sobre a localização do seu arquivo de log:

mysql> SHOW VARIABLES LIKE 'general_log%';
+------------------+-----------------------------+
| Variable_name    | Value                       |
+------------------+-----------------------------+
| general_log      | OFF                         |
| general_log_file | /var/lib/mysql/centos7.log  |
+------------------+-----------------------------+

O comando acima exibe que o armazenamento de logs das queries está desabilitado (OFF), e que o local do arquivo de logs é /var/lib/mysql/centos7.log

Execute a query abaixo para habilitar o mecanismo de log:

mysql> SET GLOBAL general_log = 'ON';

Então utilize seu método favorito para visualizar o arquivo de log enquanto seu banco de dados processa as queries:

[root@centos7 ~]# tail -f /var/lib/mysql/centos7.log
	SELECT `user`.* FROM `user` WHERE `user`.`status` = 1 ORDER BY `user`.`id_user` DESC LIMIT 50
	SELECT  `user`.* FROM `user` INNER JOIN `project` ON `user`.`id_user` = `project`.`id_user_owner`
	...

É importante notar que essa abordagem consome uma enorme quantidade de espaço em disco e reduz o desempenho do banco de dados, portanto, é recomendado que você desabilite o mecanismo de log tão logo você tenha concluído a sua análise:

mysql> SET GLOBAL general_log = 'OFF';

Espero que ajude.
Até mais!

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *