una tablas soporta slow segundo query por optimizar optimización long_query_time log lento lenta grandes cuantas consultas consulta con como agilizar activar mysql

tablas - ¿Cómo puedo habilitar el registro lento de consultas de MySQL sin reiniciar MySQL?



optimizar consultas mysql explain (8)

Creo que el problema es asegurarse de que el servidor MySQL tenga los derechos sobre el archivo y pueda editarlo.

Si puede lograr que tenga acceso al archivo, puede intentar configurarlo:
SET GLOBAL slow_query_log = 1;

De lo contrario, siempre puede volver a cargar el servidor después de cambiar el archivo de configuración. En Linux, por lo general, /etc/init.d/mysql reload

Seguí las instrucciones aquí: http://crazytoon.com/2007/07/23/mysql-changing-runtime-variables-with-out-restarting-mysql-server/ pero parece que solo establece el umbral.

¿Debo hacer algo más como configurar el archivo de ruta?

De acuerdo con los documentos de MySQL

If no file_name value is given for --log-slow-queries, the default name is host_name-slow.log. The server creates the file in the data directory unless an absolute path name is given to specify a different directory.

Corriendo

SHOW VARIABLES

no indica ninguna ruta de archivo de registro y no veo ningún archivo lento de registro de consultas en mi servidor ...

EDITAR

Parece que estoy usando la versión 5.0.77 del servidor, así que tenía que hacer:

SET GLOBAL log_slow_queries = 1;

pero obtengo: ERROR 1238 (HY000): la variable ''log_slow_queries'' es una variable de solo lectura

¿Supongo que voy a necesitar reiniciar el servidor y tener log_slow_queries establecido en mi configuración?


Esto debería funcionar en mysql> 5.5

MOSTRAR VARIABLES COMO ''% long%'';

SET GLOBAL long_query_time = 1;


Estos trabajos

SET GLOBAL LOG_SLOW_TIME = 1; SET GLOBAL LOG_QUERIES_NOT_USING_INDEXES = ON;

Roto en mi configuración 5.1.42

SET GLOBAL LOG_SLOW_QUERIES = ON; SET GLOBAL SLOW_QUERY_LOG = ON; set @@global.log_slow_queries=1;

http://bugs.mysql.com/bug.php?id=32565

Parece que la mejor manera de hacerlo es establecer log_slow_time muy alto para "desactivar" el registro lento de consultas. Baje log_slow_time para habilitarlo. Use el mismo truco (configurado en OFF) para log_queries_not_using_indexes.


Para consultas lentas en la versión <5.1, la siguiente configuración funcionó para mí:

log_slow_queries=/var/log/mysql/slow-query.log long_query_time=20 log_queries_not_using_indexes=YES

También tenga en cuenta para colocarlo en [mysqld] parte del archivo de configuración y reiniciar mysqld .


Si desea habilitar los registros de errores generales y el registro lento de errores de consulta

Para iniciar sesión en la tabla en lugar de archivo

mysql> set global log_output = "TABLE"; Para habilitar el registro de consultas general y lento

mysql> set global general_log = 1; mysql> set global slow_query_log = 1; Nombre de la tabla en la que el registro se realiza de forma predeterminada

mysql> select * from mysql.slow_log; mysql> select * from mysql.general_log; Para más detalles visita este enlace

http://easysolutionweb.com/technology/mysql-server-logs/


Manual de MySQL - slow-query-log-file

Esto indica que puede ejecutar lo siguiente para configurar el archivo de registro lento (5.1.6 en adelante):

set global slow_query_log_file = ''path'';

La variable slow_query_log simplemente controla si está habilitada o no.


Buscar registro habilitado o no?

SHOW VARIABLES LIKE ''%log%'';

Establecer los registros: -

SET GLOBAL general_log = ''ON''; SET GLOBAL slow_query_log = ''ON'';


Pruebe SET GLOBAL slow_query_log = ''ON''; y tal vez FLUSH LOGS;

Esto supone que está utilizando MySQL 5.1 o posterior. Si está utilizando una versión anterior, deberá reiniciar el servidor. Esto está documentado en el Manual de MySQL . Puede configurar el registro en el archivo de configuración o en la línea de comando.