In questo tutorial, ti mostreremo come abilitare un log di query lento per MySQL su sistemi Linux. MySQL ha funzionalità integrate che ti consentono di registrare le query SQL su un file, puoi abilitare i registri completi delle query SQL in un file o solo il registro delle query a esecuzione lenta.È facile per noi risolvere/eseguire il debug dell'istruzione SQL se il registro delle query SQL è abilitato, Il registro delle query lente viene utilizzato per trovare query che richiedono molto tempo per essere eseguite e sono quindi candidati per l'ottimizzazione. Assumiamo che tu abbia già installato MySQL sul sistema Linux con privilegi di amministratore e assumiamo che tu abbia già una piccola conoscenza di MySQL.
Questo articolo presuppone che tu abbia almeno una conoscenza di base di Linux, sappia come usare la shell e, soprattutto, che ospiti il tuo sito sul tuo VPS. L'installazione è abbastanza semplice e presuppone che tu sono in esecuzione nell'account root, in caso contrario potrebbe essere necessario aggiungere 'sudo
' ai comandi per ottenere i privilegi di root. Ti mostrerò passo dopo passo l'abilitazione del registro delle query lente per MySQL.
Prerequisiti
- Un server che esegue uno dei seguenti sistemi operativi:CentOS Linux.
- Si consiglia di utilizzare una nuova installazione del sistema operativo per prevenire potenziali problemi.
- Accesso SSH al server (o semplicemente apri Terminal se sei su un desktop).
- Un
non-root sudo user
o accedere all'root user
. Ti consigliamo di agire comenon-root sudo user
, tuttavia, poiché puoi danneggiare il tuo sistema se non stai attento quando agisci come root.
Abilita registro query lente per MySQL
Passaggio 1. Innanzitutto, iniziamo assicurandoci che il tuo sistema sia aggiornato.
sudo dnf clean all sudo dnf update
Passaggio 2. Configura il server MySQL.
Ora modifichiamo il /etc/my.cnf
file con il tuo editor di testo preferito.
nano /etc/my.cnf
Una volta che hai il tuo my.cnf
file aperto, aggiungi la seguente riga sotto “[mysqld]
sezione ".
[mysqld] log-slow-queries log-slow-queries= /var/log/mysql/slow-queries.log long_query_time=5
Salva e chiudi il file, quindi crea il file slow-queries.log. Puoi avere il file in qualsiasi punto desideri, purché tu definisca il percorso nel tuo my.cnf
.
touch /var/log/mysql/slow-queries.log chown mysql.mysql /var/log/mysql/slow-queries.log
Infine, riavvia il servizio MySQL. Inserisci il seguente comando:
sudo systemctl restart mysql
Passaggio 3. Verifica la query del registro lento.
Una volta configurato correttamente. Verifica la presenza di “slow_query_log
parametro ” (dovrebbe essere “ON”):
mysql> show variables like '%slow%'; +---------------------+--------------------------------+ | Variable_name | Value | +---------------------+--------------------------------+ | log_slow_queries | ON | | slow_launch_time | 2 | | slow_query_log | ON | | slow_query_log_file | /var/lib/mysql/mysqld-slow.log | +---------------------+--------------------------------+ 4 rows in set (0.00 sec)
Successivamente, controlliamo il parametro “long_query_time
”, dovrebbe avere il tempo di 5 secondi:
mysql> show variables like '%long%'; +--------------------+----------+ | Variable_name | Value | +--------------------+----------+ | long_query_time | 5.000000 | | max_long_data_size | 1048576 | +--------------------+----------+ 2 rows in set (0.00 sec)
Congratulazioni! Hai abilitato con successo un log di query lente su MySQL. Grazie per aver utilizzato questo tutorial per abilitare un log di query lente su MySQL nel sistema Linux. Per ulteriore aiuto o informazioni utili, ti consigliamo controlla il sito Web ufficiale di MySQL.