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!