Segui as instruções aqui: http://crazytoon.com/2007/07/23/mysql-changing-runtime-variables-with-out-restarting-mysql-server/ mas isso parece apenas definir o limite.
Preciso fazer mais alguma coisa, como definir o caminho do arquivo?
De acordo com os documentos do MySQL
Se nenhum valor de file_name for fornecido para --log-slow-queries, o nome padrão é host_name-slow.log. O servidor cria o arquivo no diretório de dados, a menos que um nome de caminho absoluto é fornecido para especificar um diretório diferente.
Corrida
MOSTRAR VARIÁVEIS
não indica nenhum caminho de arquivo de log e não vejo nenhum arquivo de log de consulta lenta em meu servidor ...
EDITAR
Parece que estou usando a versão 5.0.77 do servidor, então precisava fazer:
SET GLOBAL log_slow_queries = 1;
mas recebo: ERROR 1238 (HY000): a variável 'log_slow_queries' é uma variável somente leitura
Presumo que vou precisar reiniciar o servidor e ter log_slow_queries definido em minha configuração.
Respostas:
Tente
SET GLOBAL slow_query_log = 'ON';
e talvezFLUSH LOGS;
Isso assume que você está usando MySQL 5.1 ou posterior. Se você estiver usando uma versão anterior, será necessário reiniciar o servidor. Isso está documentado no Manual do MySQL . Você pode configurar o log no arquivo de configuração ou na linha de comando.
fonte
SET GLOBAL slow_query_log = 'OFF';
funciona conforme o esperado também.FLUSH LOGS
não foi necessário em nenhum dos casos.Para consultas lentas na versão <5.1, a seguinte configuração funcionou para mim:
Observe também para colocá-lo em
[mysqld]
parte do arquivo de configuração e reiniciemysqld
.fonte
sudo mkdir /var/log/mysql
sudo touch /var/log/mysql/slow-query.log
sudo chown -R _mysql /var/log/mysql/
log_slow_queries
foi preterido no MySQL 5.1.29 porslow-query-log
. O Manual de Referência do MySQL 5.1 tem mais detalhes.Encontrar log ativado ou não?
Defina os registros: -
fonte
Manual do MySQL - arquivo de log de consulta lenta
Isso afirma que você pode executar o seguinte para definir o arquivo de log lento (5.1.6 em diante):
A variável slow_query_log apenas controla se está habilitado ou não.
fonte
Estes funcionam
Quebrado na minha configuração 5.1.42
http://bugs.mysql.com/bug.php?id=32565
Parece que a melhor maneira de fazer isso é definir log_slow_time como muito alto, "desligando" o log de consulta lenta. Reduza o log_slow_time para habilitá-lo. Use o mesmo truque (definido como OFF) para log_queries_not_using_indexes.
fonte
Acho que o problema é ter certeza de que o servidor MySQL tem direitos sobre o arquivo e pode editá-lo.
Se você conseguir que ele tenha acesso ao arquivo, pode tentar configurar:
SET GLOBAL slow_query_log = 1;
Caso contrário, você sempre pode 'recarregar' o servidor após alterar o arquivo de configuração. No Linux é geralmente
/etc/init.d/mysql reload
fonte
Se você deseja habilitar logs de erros gerais e log de erros de consulta lenta na tabela em vez de no arquivo
Para iniciar o registro na tabela em vez do arquivo:
Para ativar o registro de consulta geral e lenta:
Para ver os registros:
Para mais detalhes visite este link
http://easysolutionweb.com/technology/mysql-server-logs/
fonte
Isso deve funcionar no mysql> 5.5
fonte