Come mostrare i processi MySQL in esecuzione

Come Mostrare I Processi Mysql In Esecuzione



È possibile avere un caso in cui numerosi thread sono in esecuzione sul tuo server MySQL. Tra questi thread, quelli inattivi possono causare un errore sul tuo server MySQL a meno che tu non sia in grado di visualizzare i processi in esecuzione e terminare quelli che attualmente non ti servono.

MySQL è un DBMS relazionale che offre agli utenti varie opzioni per elencare i processi in esecuzione. Spiegheremo come mostrare i processi MySQL in esecuzione.







Identificazione dei processi MySQL

Quando hai un database MySQL sul tuo server, potresti occasionalmente aver bisogno di controllarne lo stato per verificare la quantità di carico che ha. Quando noti ritardi o problemi con varie query sul tuo database MySQL, segnala che potresti avere thread eccessivi e inattivi.



Quindi, capire quali thread stanno causando problemi e come ridurre al minimo il carico è utile. Con MySQL, puoi utilizzare diverse opzioni per analizzare i processi in esecuzione. Discuteremo due opzioni che aiuteranno a mostrare i processi MySQL.



Metodo 1: tramite il comando Show Processlist

Quando accedi a MySQL dalla riga di comando, puoi utilizzare il comando SHOW PROCESSLIST per visualizzare le informazioni relative a tutti i processi in esecuzione nel tuo server MySQL. Quando viene eseguito, fornisce al server un'istantanea di varie connessioni e le loro informazioni come lo stato, l'ora, ecc.





Di seguito il comando da eseguire:

MOSTRA ELENCO PROCESSI;

Nota le varie colonne dall'output. Discutiamo brevemente ciascuno:



  1. Id – Visualizza l'ID del processo in esecuzione. Nel caso di numerosi processi in esecuzione, ognuno ha il proprio ID univoco.
  2. Utente – Rappresenta l'utente associato al particolare thread.
  3. Ospite – Mostra l'host a cui è connesso il particolare client. È il nome host del client specifico che ha emesso l'istruzione.
  4. DB – Se viene selezionato un database per un particolare thread, viene visualizzato nella colonna DB. Se mostra NULL, non è selezionato alcun database.
  5. Comando – Mostra il comando che viene eseguito dal thread.
  6. Tempo – Per il particolare thread, questa colonna indica per quanto tempo il thread si trova nel suo stato attuale.
  7. Stato – Mostra in quale stato o evento è impegnato il thread.
  8. Informazioni – Mostra quale istruzione il thread sta attualmente eseguendo.

In questo caso, l'output precedente è il risultato che otteniamo dal nostro comando SHOW PROCESSLIST. Il risultato viene visualizzato in modo tabellare. Supponiamo di voler visualizzare gli stessi risultati ma in maniera verticale. Puoi invece usare il seguente comando:

MOSTRA ELENCO PROCESS\G;

Includi facoltativamente [FULL] nel comando per assicurarti di non perdere nessun processo in esecuzione.

Metodo 2: tramite l'opzione INFORMATION_SCHEMA.PROCESSLIST

MySQL ha la tabella INFORMATION_SCHEMA.PROCESSLIST che contiene un elenco di tutte le connessioni attive che stanno andando al suo server. Accedendo a questa tabella, ottieni i dettagli di tutte quelle connessioni attive per conoscerne l'host, l'ID di processo, lo stato, il comando, ecc. che sono simili a quelli che ottieni con il comando SHOW PROCESSLIST.

Ecco il comando da eseguire:

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;

Una volta eseguito il comando, si ottiene un output simile a quello di seguito che mostra tutti i dettagli dei processi in esecuzione di MySQL:

Come terminare i processi in esecuzione di MySQL

Supponiamo di avere un problema con i processi in esecuzione. Puoi uccidere qualsiasi processo inattivo per ridurre il tempo di caricamento del tuo server e migliorare l'efficienza. La prima attività consiste nell'identificare l'ID del particolare thread. Abbiamo fornito due metodi per trovare l'ID di qualsiasi thread.

Una volta che hai l'ID, puoi eseguire il comando 'kill' con la seguente sintassi:

KILL ;

Una volta eseguito il comando, otterrai un output di successo che mostra la riga interessata e la query si disconnetterà dal server. È così che uccidi un processo MySQL.

Conclusione

MySQL offre due modi che puoi usare per mostrare i processi in esecuzione. Abbiamo discusso entrambe le opzioni, data la sintassi e un comando di esempio, per aiutarti a capire MySQL SHOW PROCESSLIST. Tuttavia, abbiamo visto come puoi terminare un processo in esecuzione. Si spera che ora tu capisca come funziona MySQL SHOW PROCESSLIST.