A futó MySQL folyamatok megjelenítése

A Futo Mysql Folyamatok Megjelenitese



Előfordulhat, hogy számos szál fut a MySQL-kiszolgálón. Ezen szálak közül a tétlen szálak hibát okozhatnak a MySQL-kiszolgálón, kivéve, ha megtekintheti a futó folyamatokat, és megölheti azokat, amelyekre jelenleg nincs szüksége.

A MySQL egy relációs DBMS, amely különféle lehetőségeket kínál a felhasználók számára a futó folyamatok felsorolására. Elmagyarázzuk, hogyan kell megjeleníteni a futó MySQL folyamatokat.







A MySQL folyamatok azonosítása

Ha van MySQL-adatbázisa a kiszolgálón, előfordulhat, hogy időnként ellenőriznie kell az állapotát, hogy ellenőrizze a terhelés mértékét. Ha késéseket vagy problémákat észlel a MySQL-adatbázis különböző lekérdezéseinél, az azt jelzi, hogy túl sok és tétlen szálak lehetnek.



Ezért hasznos megérteni, hogy mely szálak okoznak problémákat, és hogyan csökkentheti a terhelést. A MySQL segítségével különböző lehetőségeket használhat a futó folyamatok elemzésére. Két lehetőséget fogunk megvitatni, amelyek segítenek a MySQL folyamatok bemutatásában.



1. módszer: A folyamatlista megjelenítése parancson keresztül

Amikor a MySQL-t a parancssorban éri el, a SHOW PROCESSLIST paranccsal megjelenítheti a MySQL-kiszolgálón futó folyamatokkal kapcsolatos információkat. Amikor végrehajtja, pillanatképet ad a szervernek a különféle kapcsolatokról és azok információiról, például az állapotról, az időről stb.





A végrehajtandó parancs a következő:

FOLYAMATLISTA MUTATÁSA;

Jegyezze fel a kimenet különböző oszlopait. Beszéljünk röviden mindegyikről:



  1. Id – Megjeleníti a futó folyamat folyamatazonosítóját. Számos futó folyamat esetén mindegyik egyedi azonosítóval rendelkezik.
  2. Felhasználó – Az adott szálhoz társított felhasználót jelöli.
  3. Házigazda – Megmutatja azt a gazdagépet, ahol az adott kliens csatlakozik. A nyilatkozatot kiadó konkrét ügyfél gazdagépneve.
  4. DB – Ha egy adott szálhoz adatbázis van kiválasztva, az megjelenik a DB oszlopban. Ha NULL értéket mutat, nincs adatbázis kiválasztva.
  5. Parancs – A szál által végrehajtott parancsot mutatja.
  6. Idő – Az adott szál esetében ez az oszlop jelzi, hogy mennyi ideig van a szál jelenlegi állapotában.
  7. Állapot – Megmutatja, milyen állapotban vagy eseményben van a szál.
  8. Info – Megmutatja, hogy a szál éppen milyen utasítást hajt végre.

Ebben az esetben az előző kimenet az az eredmény, amelyet a SHOW PROCESSLIST parancsunkból kapunk. Az eredmény táblázatos formában jelenik meg. Tegyük fel, hogy ugyanazokat az eredményeket szeretné megtekinteni, de függőlegesen. Ehelyett használhatja a következő parancsot:

FOLYAMATLISTA MUTATÁSA\G;

Opcionálisan adja meg a [FULL] értéket a parancsban, hogy ne maradjon le egyetlen futó folyamatról sem.

2. módszer: Az INFORMATION_SCHEMA.PROCESSLIST opción keresztül

A MySQL rendelkezik az INFORMATION_SCHEMA.PROCESSLIST táblával, amely tartalmazza a szerveréhez tartó összes aktív kapcsolat listáját. Ennek a táblázatnak a megnyitásával megkapja az összes aktív kapcsolat részleteit, hogy megismerje a gazdagépüket, folyamatazonosítójukat, állapotukat, parancsukat stb., amelyek hasonlóak a SHOW PROCESSLIST paranccsal kapotthoz.

Íme a végrehajtandó parancs:

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;

A parancs végrehajtása után az alábbihoz hasonló kimenetet kap, amely a MySQL futó folyamatainak minden részletét mutatja:

Hogyan lehet megölni a MySQL futó folyamatait

Tegyük fel, hogy probléma van a futó folyamatokkal. A kiszolgáló betöltési idejének csökkentése és a hatékonyság növelése érdekében minden tétlen folyamatot leállíthat. Az első feladat az adott szál azonosítójának azonosítása. Két módszert adtunk meg bármely szál azonosítójának megkeresésére.

Miután megvan az azonosító, végrehajthatja a „kill” parancsot a következő szintaxissal:

KILL ;

A parancs végrehajtása után sikeres kimenetet kap, amely az érintett sort mutatja, és a lekérdezés megszakad a szervertől. Így lehet megölni egy MySQL-folyamatot.

Következtetés

A MySQL két módot kínál a futó folyamatok megjelenítésére. Megbeszéltük mindkét lehetőséget, a megadott szintaxist és egy példaparancsot, hogy segítsünk megérteni a MySQL SHOW PROCESSLIST-t. Ennek ellenére láttuk, hogyan lehet megölni egy futó folyamatot. Remélhetőleg most már megérti, hogyan működik a MySQL SHOW PROCESSLIST.