Je možné, že na vašem serveru MySQL běží mnoho vláken. Mezi těmito vlákny mohou nečinná vlákna způsobit chybu na vašem serveru MySQL, pokud nemůžete zobrazit běžící procesy a zabít ty, které aktuálně nepotřebujete.
MySQL je relační DBMS, která uživatelům nabízí různé možnosti pro výpis běžících procesů. Vysvětlíme si, jak ukázat běžící procesy MySQL.
Identifikace procesů MySQL
Máte-li na serveru databázi MySQL, možná budete občas potřebovat zkontrolovat její stav, abyste zkontrolovali velikost zátěže, kterou má. Když si všimnete zpoždění nebo problémů s různými dotazy ve vaší databázi MySQL, signalizuje to, že můžete mít nadměrná a nečinná vlákna.
Proto je užitečné pochopit, která vlákna způsobují problémy a jak můžete minimalizovat zátěž. S MySQL můžete použít různé možnosti analýzy běžících procesů. Probereme dvě možnosti, které pomohou ukázat procesy MySQL.
Metoda 1: Prostřednictvím příkazu Show Processlist Command
Když přistupujete k MySQL z příkazového řádku, můžete použít příkaz SHOW PROCESSLIST k zobrazení informací o všech běžících procesech na vašem MySQL serveru. Po spuštění poskytuje serveru snímek různých připojení a jejich informace, jako je stav, čas atd.
Následuje příkaz k provedení:
ZOBRAZIT SEZNAM PROCESŮ;Všimněte si různých sloupců z výstupu. Pojďme stručně diskutovat o každém:
- Id – Zobrazuje ID procesu běžícího procesu. V případě mnoha běžících procesů má každý své jedinečné ID.
- Uživatel – Představuje uživatele, který je přidružen ke konkrétnímu vláknu.
- Hostitel – Zobrazuje hostitele, ke kterému je konkrétní klient připojen. Je to název hostitele konkrétního klienta, který výpis vydal.
- DB – Pokud je vybrána databáze pro konkrétní vlákno, zobrazí se ve sloupci DB. Pokud se zobrazí NULL, není vybrána žádná databáze.
- Příkaz – Zobrazuje příkaz, který vlákno vykonává.
- Čas – U konkrétního vlákna tento sloupec uvádí, jak dlouho je vlákno ve svém aktuálním stavu.
- Stát – Ukazuje, v jakém stavu nebo události je vlákno zapojeno.
- Info – Ukazuje, jaký příkaz vlákno právě provádí.
V tomto případě je předchozí výstup výsledkem, který získáme z našeho příkazu SHOW PROCESSLIST. Výsledek se zobrazí tabulkovým způsobem. Předpokládejme, že chcete zobrazit stejné výsledky, ale svisle. Místo toho můžete použít následující příkaz:
ZOBRAZIT SEZNAM PROCESŮ\G;Volitelně do příkazu zahrňte [FULL], abyste zajistili, že nepromeškáte žádný běžící proces.
Metoda 2: Prostřednictvím možnosti INFORMATION_SCHEMA.PROCESSLIST
MySQL má tabulku INFORMATION_SCHEMA.PROCESSLIST, která obsahuje seznam všech aktivních připojení, která směřují k jejímu serveru. Přístupem k této tabulce získáte podrobnosti o všech aktivních připojeních, abyste poznali jejich hostitele, ID procesu, stav, příkaz atd., které jsou podobné tomu, co získáte pomocí příkazu SHOW PROCESSLIST.
Zde je příkaz k provedení:
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;Jakmile příkaz spustíte, získáte výstup, který je podobný tomu v následujícím, který zobrazuje všechny podrobnosti o běžících procesech MySQL:
Jak zabít běžící procesy MySQL
Předpokládejme, že máte problém s běžícími procesy. Můžete zabít jakýkoli nečinný proces, abyste zkrátili dobu načítání vašeho serveru a zvýšili efektivitu. Prvním úkolem je identifikovat ID konkrétního vlákna. Poskytli jsme dvě metody, jak zjistit ID libovolného vlákna.
Jakmile máte ID, můžete provést příkaz „kill“ s následující syntaxí:
KILLJakmile příkaz spustíte, získáte úspěšný výstup, který zobrazí dotčený řádek a dotaz se odpojí od serveru. Takto zabijete proces MySQL.
Závěr
MySQL nabízí dva způsoby, které můžete použít k zobrazení běžících procesů. Probrali jsme obě možnosti, danou syntaxi a příklad příkazu, abychom vám pomohli porozumět MySQL SHOW PROCESSLIST. Přesto jsme viděli, jak můžete zabít běžící proces. Doufejme, že nyní chápete, jak funguje MySQL SHOW PROCESSLIST.