Como é que activo o registo de consultas lento do MySQL? [duplicado]

[[2] esta pergunta já tem uma resposta aqui:

  • Como posso activar o registo de consultas lento do MySQL sem reiniciar o MySQL? 8 respostas

Os Detalhes da minha versão do MySQL são

  1. Servidor: Localhost via socket UNIX
  2. Software: MySQL
  3. Software version: 5.0.96-community - log-MySQL Community Edition (GPL)
  4. Versão do Protocolo: 10

como é que activo o registo de consultas lento do MySQL?

 13
Author: TRiG, 2014-03-24

2 answers

versão 5.1.6 e superior:

1. Indique a linha de comandos MySQL e execute o seguinte comando:

set global slow_query_log = 'ON';

2. Active quaisquer outras opções desejadas. Aqui estão alguns exemplos comuns:

Os detalhes de registo das consultas que deverão obter todas as linhas em vez de usar um índice:

   set global log_queries_not_using_indexes = 'ON'

Definir a localização do registo da pesquisa lenta:

  set global slow_query_log_file ='/var/log/mysql/slow-query.log';

Definir a quantidade de tempo que uma pesquisa precisa para executar antes de ser registado:

   set global long_query_time = 20;
     (default is 10 seconds)

3. Confirmar que as alterações estão activas ao introduzir a linha de comandos MySQL e ao executar o seguinte comando:

show variables like '%slow%';

Versões abaixo 5.1.6:

  1. Edite o /etc / my.ficheiro cnf com o seu editor de texto favorito vi / etc / my.cnf

  2. Adicione a seguinte linha sob a secção " [mysqld]". Sinta-se à vontade para actualizar a localização do ficheiro de registo para o que você quero:

    log-slow-queries=/var/log/mysql/slow-query.log

3. Activar as opções adicionais quando necessário. Aqui estão os mesmos exemplos comumente usados de cima:

Define a quantidade de tempo que uma pesquisa precisa de executar antes de ser autenticada:

  `long_query_time=20
  (default is 10 seconds)`

Os detalhes de registo das consultas que deverão obter todas as linhas em vez de usar um índice:

 `log-queries-not-using-indexes`

4. Reiniciar o serviço MySQL:

service mysqld restart

5. Confirmar que a alteração está activa ao introduzir o Shell MySQL e a correr o seguinte:

show variables like '%slow%';

Actualizar:1

De acordo com os docs MySQL, o erro #1193 ocorre quando você usa o código errado para SQLSTATE.

Message: Unknown system variable %s

E, como podem ver na mesma página, o SQLSTATE 99003 não está definido.

Consulte esta ligação:

Http://dev.mysql.com/doc/refman/5.5/en/slow-query-log.html

Http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html

 47
Author: jmail, 2018-05-04 21:50:59

Se o seu servidor estiver acima de 5.1.6, poderá definir o registo de consultas lentas no próprio tempo de execução. Para o qual você tem que executar estas consultas.

set global log_slow_queries = 1;
set global slow_query_log_file = <some file name>;

Ou, em alternativa, poderá definir estas opções nos ficheiros de opções my.cnf/my.ini

log_slow_queries = 1; 
slow_query_log_file = <some file name>;

Ver: http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_slow_query_log_file

 2
Author: Sathish D, 2014-03-24 12:26:30