Por que o log de consultas lentas do MySQL não existe?

Por que o log de consultas lentas do MySQL não existe?

Eu estava procurando hoje em meu servidor CentOS um log de consultas lentas do MySQL, mas não tive sorte em encontrar o log. Eu até fiz um teste "SELECT SLEEP(2)" na esperança de criar esse arquivo. Tome nota, eu não sou muito experiente em servidores, então qualquer ajuda será apreciada.

 7
  8 [mysql.server]
  9 user=mysql
 10 basedir=/var/lib
 11
 12 [mysqld]
 13 long_query_time = 1
 14 log_slow_queries=/var/log/mysql_slow_queries.log
 15 log=/var/log/mysql.query.log
 16
 17 ## FINE TUNING ##
 18
 19 key_buffer              = 16M
 20 max_allowed_packet      = 16M
 21 thread_stack            = 128K
 22 thread_cache_size       = 8
 23 query_cache_limit       = 1M
 24 query_cache_size        = 16M
 25
 26 [mysqld_safe]
 27 log-error=/var/log/mysqld.log
 28 pid-file=/var/run/mysqld/mysqld.pid
 29 safe-show-databases

Como você pode ver, o caminho mostra: /var/log/mysql_slow_queries.log - mas este arquivo não pode ser encontrado. No entanto, encontrei mysql.query.log e mysqld.log perfeitamente no diretório. Por que meu arquivo MySQL Slow Queries não existe?

Responder1

Depois de fazer as alterações em seu my.cnfarquivo, você precisa reiniciar o serviço MySQL. Não tenho certeza em qual sistema você está, mas normalmente service mysqld restartfuncionará ou service mysql restart- basta olhar em /etc/init.d/.

Além disso, certifique-se de que o arquivo esteja criado e disponível no disco:

touch /var/log/mysql_slow_queries.log
chown mysql:mysql /var/log/mysql_slow_queries.log

Além disso, o tempo não é tão importante em bancos de dados, mas sim em consultas sem índices. Considere adicionar o seguinte ao seu arquivo my.cnf. Claro, reinicie o MySQL assim que fizer:

log-queries-not-using-indexes

Responder2

toque em /var/log/mysql_slow_queries.log

chown mysql:mysql

e reinicie seu serviço mysql

mysql -u -pmypassword

selecione dormir(60);

gato /var/log/mysql_slow_queries.log

/usr/sbin/mysqld, Version: 5.5.28-log (Source distribution). started with:
Tcp port: 3306  Unix socket: /var/run/mysql/mysql.sock
Time                 Id Command    Argument
# Time: 130904 23:22:14
# User@Host: root[root] @ localhost []
# Query_time: 60.002284  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
SET timestamp=1378329734;
select sleep(60);

Responder3

adicione slow_query_log=1à [mysqld]seção my.cnfe reinicie o mysqld.

Responder4

Observe que, no Centos 7, por padrão e sem reinicialização do MySQL, o log de consulta lenta é habilitado nesta posição:

/var/lib/mysql/$HOSTNAME.log

Veja as outras respostas para descobrir como aplicar sua configuração persistente e como movê-la para outra posição.

informação relacionada