Hoy estuve buscando en mi servidor CentOS un registro de consultas lentas de MySQL, pero no tuve suerte de encontrarlo. Incluso hice una prueba "SELECT SLEEP(2)" con la esperanza de crear este archivo. Tome nota, no soy muy experto en servidores, por lo que se agradece cualquier ayuda.
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 puede ver, la ruta muestra: /var/log/mysql_slow_queries.log, pero este archivo no se encuentra por ningún lado. Sin embargo, encontré mysql.query.log y mysqld.log bien en el directorio. ¿Por qué no existe mi archivo MySQL Slow Queries?
Respuesta1
Una vez que haya realizado los cambios en su my.cnf
archivo, debe reiniciar el servicio MySQL. No estoy seguro de en qué sistema está, pero normalmente service mysqld restart
funcionará o service mysql restart
simplemente mire /etc/init.d/
.
Además, asegúrese de que el archivo esté creado y disponible en el disco:
touch /var/log/mysql_slow_queries.log
chown mysql:mysql /var/log/mysql_slow_queries.log
Además, en las bases de datos el tiempo no es tan importante sino en consultas sin índices. Considere agregar lo siguiente a su my.cnf
. Por supuesto, reinicia MySQL una vez que lo hagas:
log-queries-not-using-indexes
Respuesta2
toque /var/log/mysql_slow_queries.log
chown mysql: mysql
y reinicie su servicio mysql
mysql -u -pmycontraseña
seleccione 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);
Respuesta3
agregue slow_query_log=1
a la [mysqld]
sección de my.cnf
y reinicie mysqld.
Respuesta4
Tenga en cuenta que, en Centos 7, de forma predeterminada y sin reiniciar MySQL, el registro de consultas lentas está habilitado en esta posición:
/var/lib/mysql/$HOSTNAME.log
Consulte las otras respuestas para descubrir cómo aplicar su configuración persistente y cómo moverla a otra posición.