Cum să afișați procesele MySQL care rulează

Cum Sa Afisati Procesele Mysql Care Ruleaza



Este posibil să aveți un caz în care pe serverul dvs. MySQL rulează numeroase fire. Printre aceste fire, cele inactive pot provoca o eroare pe serverul dvs. MySQL, cu excepția cazului în care puteți vizualiza procesele care rulează și le ucideți pe cele de care nu aveți nevoie în prezent.

MySQL este un SGBD relațional care oferă utilizatorilor diverse opțiuni de a enumera procesele care rulează. Vom explica cum să arătăm procesele MySQL care rulează.







Identificarea proceselor MySQL

Când aveți o bază de date MySQL pe serverul dvs., poate fi necesar ocazional să verificați starea acesteia pentru a verifica cantitatea de încărcare pe care o are. Când observați întârzieri sau probleme cu diferite interogări din baza dvs. de date MySQL, semnalează că este posibil să aveți fire excesive și inactive.



Prin urmare, este util să înțelegeți ce fire cauzează probleme și cum puteți minimiza sarcina. Cu MySQL, puteți utiliza diferite opțiuni pentru a analiza procesele care rulează. Vom discuta două opțiuni care vor ajuta la afișarea proceselor MySQL.



Metoda 1: Prin comanda Show Processlist

Când accesați MySQL pe linia de comandă, puteți utiliza comanda SHOW PROCESSLIST pentru a afișa informațiile referitoare la toate procesele care rulează pe serverul dvs. MySQL. Când este executat, oferă serverului un instantaneu al diferitelor conexiuni și informații despre acestea, cum ar fi starea, ora etc.





Următoarea este comanda de executat:

AFIȘAȚI LISTA DE PROCES;

Observați diferitele coloane din rezultat. Să discutăm pe scurt fiecare:



  1. Id – Afișează ID-ul procesului care rulează. În cazul a numeroase procese care rulează, fiecare are ID-ul său unic.
  2. Utilizator – Reprezintă utilizatorul care este asociat cu un anumit thread.
  3. Gazdă – Arată gazda unde este conectat clientul respectiv. Este numele de gazdă al clientului specific care a emis declarația.
  4. DB – Dacă este selectată o bază de date pentru un anumit fir, aceasta apare sub coloana DB. Dacă arată NULL, nu este selectată nicio bază de date.
  5. Comanda – Afișează comanda care este executată de thread.
  6. Timp – Pentru un anumit fir, această coloană indică cât de lungă este firul în starea sa actuală.
  7. Stat – Arată în ce stare sau eveniment este angajat firul.
  8. Info – Arată ce instrucțiune execută în prezent firul.

În acest caz, ieșirea anterioară este rezultatul pe care îl obținem din comanda noastră SHOW PROCESSLIST. Rezultatul este afișat într-o manieră tabelară. Să presupunem că doriți să vizualizați aceleași rezultate, dar într-o manieră verticală. În schimb, puteți folosi următoarea comandă:

AFIȚĂ LISTA DE PROCES\G;

Opțional, includeți [FULL] în comandă pentru a vă asigura că nu pierdeți niciun proces care rulează.

Metoda 2: Prin opțiunea INFORMATION_SCHEMA.PROCESSLIST

MySQL are tabelul INFORMATION_SCHEMA.PROCESSLIST care conține o listă a tuturor conexiunilor active care merg la serverul său. Accesând acest tabel, obțineți detaliile tuturor acelor conexiuni active pentru a le cunoaște gazda, ID-ul procesului, starea, comanda etc. care sunt similare cu ceea ce obțineți cu comanda SHOW PROCESSLIST.

Iată comanda de executat:

SELECTAȚI * DIN INFORMATION_SCHEMA.PROCESSLIST;

Odată ce executați comanda, obțineți o ieșire care este similară cu cea din următorul, care arată toate detaliile proceselor care rulează MySQL:

Cum să omorâți procesele care rulează MySQL

Să presupunem că aveți o problemă cu procesele care rulează. Puteți opri orice proces inactiv pentru a reduce timpul de încărcare a serverului și pentru a spori eficiența. Prima sarcină este să identifici ID-ul unui anumit fir de execuție. Am oferit două metode pentru a găsi ID-ul oricărui fir.

Odată ce aveți ID-ul, puteți executa comanda „kill” cu următoarea sintaxă:

KILL ;

Odată ce executați comanda, veți obține o ieșire de succes care arată rândul afectat, iar interogarea se va deconecta de la server. Așa omorâți un proces MySQL.

Concluzie

MySQL oferă două modalități pe care le puteți utiliza pentru a afișa procesele care rulează. Am discutat ambele opțiuni, sintaxa dată și un exemplu de comandă, pentru a vă ajuta să înțelegeți MySQL SHOW PROCESSLIST. Totuși, am văzut cum puteți opri un proces care rulează. Sperăm că acum înțelegeți cum funcționează MySQL SHOW PROCESSLIST.