Como Acessar Logs do MySQL
Acesso a logs
General Log e Slow Query Log
O general log é um registro geral de operações sendo realizadas pelo MySQL, como conexões e o que está sendo enviado para execução. Já o slow query log é usado para encontrar consultas que demoram muito para serem executadas (candidatas à otimização).
Como ligar e desligar
Visando garantir uma melhor utilização do seu ambiente DBaaS, por default o general log e slow logs vêm desabilitados, ou seja, com o valor 0. Para iniciar tal coleta, o primeiro passo é alterar esses valores para 1 (vide link de abertura de chamado).
slow_query_log: para iniciar o slow query logs então altere o valor para 1. O padrão é 0 general_log: para iniciar o general logs entao altere o valor para 1. O padrão é 0.
Após concluído o atendimento então basta esperar poucos minutos e começar a fazer uso dessa informação. Um detalhe importante é avaliar o parâmetro long_query_time que vem por default com 10 segundos. Este parâmetro define o tempo mínimo para que uma consulta seja considerada lenta (e conste no log como tal). Caso seja necessário solicite essa alteração também para que seja realizada uma coleta mais coerente com as suas necessidades.
Como acessar
O acesso a esse dado é bem simples e realizado através de query em banco de dados:
SELECT * FROM mysql.slow_log;
SELECT * FROM mysql.general_log;
Uma informação complementar é que essas tabelas apresentam algumas colunas que podem ser usadas como filtro e auxiliar nesse processo de análise. Após o uso desses dados, é possível solicitar o desligamento da coleta seguindo o mesmo processo para a ativação. Como limpar Caso deseje realizar a limpeza das tabelas de general log ou slow query log para um melhor aproveitamento do espaço em disco, basta acessar a instância via client de costume e executar os comandos abaixo para limpar o slow query log e o general log na sequência
call mysql.mgc_slow_log_clean;
call mysql.mgc_general_log_clean;
Esse comando pode ser executado sempre que sentir a necessidade de liberar o espaço ocupado por alguma coleta.
Error Log
O error log contém os registros de inicialização e desligamento do MySQL. Ele também contém mensagens de diagnóstico como erros, avisos e notas que ocorrem durante a inicialização e encerramento do servidor e enquanto o servidor está em execução.
Como acessar
O acesso a essa informação é simples, basta realizar a consulta na view do performance_schema, não é necessário nenhum passo adicional:
select * from performance_schema.error_log
Uma informação que pode ser interessante é que essa tabela apresenta algumas colunas que podem ser usadas como filtro e auxiliar nesse processo de análise como logged, error_code entre outras. Aviso importante é que o restart da instância remove logs antigos e começa a carregar os novos no momento que o serviço volta. Rotações automáticas do mysql também ajudam a remover casos mais antigos evitando retenções muito antigas em máquinas com muitas ocorrências.