Como é que activo o registo de consultas lento do MySQL? [duplicado]
- 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
- Servidor: Localhost via socket UNIX
- Software: MySQL
- Software version: 5.0.96-community - log-MySQL Community Edition (GPL)
- Versão do Protocolo: 10
como é que activo o registo de consultas lento do MySQL?
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:
Edite o /etc / my.ficheiro cnf com o seu editor de texto favorito vi / etc / my.cnf
-
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:
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