GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come trovare e terminare/uccidere il processo MySQL

Introduzione

Processi MySQL non necessari possono causare problemi di prestazioni nel sistema. Nel tempo, i thread attivi si accumulano e bloccano il tuo server impedendo agli utenti di accedere alle tabelle ed eseguire richieste.

Quando l'utilizzo delle risorse è estremamente elevato, potrebbe essere necessario interrompere i processi MySQL. Questa guida ti mostrerà come identificare i processi MySQL e terminare un processo.

Prerequisiti

  • Accesso a una riga di comando/finestra del terminale
  • MySQL o MariaDB installati
  • Utente con sudo o root privilegi

Come trovare l'elenco dei processi MySQL

Prima di poter individuare un processo e terminarlo, è necessario accedere a un server MySQL locale o remoto. Per accedere al tuo account locale MySQL come root, apri il terminale e inserisci:

mysql -u root -p

Digita la password quando richiesto. Quando la shell MySQL viene caricata, il prompt mostra mysql> .

Per individuare un processo da terminare o terminare, caricare l'elenco con tutte le sessioni attive.
Nella shell MySQL, usa questa query:

SHOW PROCESSLIST;

L'output mostra le seguenti informazioni:

Potresti avere più voci nella tua lista. Nota l'Id del processo che vuoi uccidere. Il Time La colonna aiuta a determinare i processi più longevi. Di solito sono quelli che vuoi terminare per primi.

Come eliminare il processo MySQL

Per terminare una sessione MySQL dall'elenco, usa il KILL query seguita dal thread Id hai notato prima.

KILL 14;

La shell mostra lo stato della query e il numero di righe interessate:"Query OK, 0 righe interessate (0,06 sec) . Questa query termina la connessione al database, comprese tutte le operazioni associate alla connessione.

Ricorda che un utente deve disporre dei privilegi appropriati per poter terminare un processo.

Come eliminare tutti i processi MySQL per un utente specifico

MySQL non ha un comando univoco per uccidere tutti i processi.

Per terminare tutti i processi per un utente specifico, usa CONCAT per creare un file con l'elenco dei thread e delle istruzioni. Nel nostro caso, abbiamo inserito root come utente. Per specificare un altro utente, sostituisci root con il nome utente desiderato.

SELECT CONCAT('KILL ',id,';') FROM information_schema.processlist WHERE user='root' INTO OUTFILE '/tmp/process_list.txt';

Questa query ha creato un file chiamato process_list.txt . Puoi modificare il nome a tuo piacimento. Apri il file e controlla se quelli sono i processi che vuoi uccidere. Quando sei pronto, inserisci:

SOURCE /tmp/process_list.txt;

È possibile aggiungere condizioni alla query per restringere l'elenco dei processi nel file di output. Ad esempio, aggiungi time > 1000 al comando per includere solo i processi con valore temporale maggiore di 1000.

SELECT CONCAT('KILL ',id,';') FROM information_schema.processlist WHERE user='root' and time>1000 INTO OUTFILE '/tmp/process_list.txt';

Cent OS
  1. Come uccidere un processo zombie su Linux

  2. Come trovare file di configurazione MySQL, PHP e Apache

  3. Come trovare e uccidere il processo Zombie in Linux

  4. Cosa sono i processi zombi e come trovare e uccidere i processi zombi?

  5. Come trovare l'ID di processo (pid) di un programma terminale in esecuzione?

Come trovare l'ID di processo di un programma e ucciderlo [Suggerimento rapido]

Come KILL un processo su Linux

Come uccidere o terminare un processo Linux:la guida definitiva

Come trovare il PID e il PPID di un processo in Linux

Come uccidere i processi in Linux usando kill, killall e pkill

Come terminare i processi MySQL in phpMyAdmin