it-swarm.it

Dove posso trovare il registro lento mysql?

Proprio come dice il titolo, dove posso vederlo?

Esistono opzioni di configurazione (ad esempio quanti ms determinerebbero se una query è lenta o no)?

26
poelinca

Puoi trovarlo nella directory predefinita, a seconda della tua installazione. Ad esempio, sul mio Red Hat, è/var/log/mysql /

Il tempo di query è il tempo, in secondi, durante il quale dovrebbe iniziare la registrazione. Questo può essere fatto all'avvio e in fase di esecuzione.

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

long_query_time = 1

22
David Hall

In MySQL: show global variables like '%slow%';

Aggiornamento: ecco un link al manuale: testo del link

26
SteveHarville

Queste sono le opzioni (e le impostazioni) pertinenti che generalmente ho/uso in tutti i miei my.cnfs per registrare query lente:

log_output=FILE
slow_query_log=1
slow_query_log_file=/var/log/mysql/mysql.slow 
long_query_time=0.001 
log-queries-not-using-indexes=0

Nota che per long_query_time ,

A partire da MySQL 5.1.21 ... quando si accede a un file è supportata una risoluzione di microsecondi.

7
Riedsio

Cerca il tuo file di configurazione mysqld (di solito, /etc/my.cnf)

Alla tua Shell:

grep slow /etc/my.cnf
3
randomx

Ecco qualcosa da considerare anche:

Se usi l'opzione

log-output=TABLE

nel tuo file /etc/my.cnf, cerca che il registro lento sia una tabella basata sul motore di archiviazione CSV situata, tra tutti i punti, nello schema mysql.

Ciò influisce anche sul registro generale, una volta abilitato.

2
RolandoMySQLDBA