Spis treści
Czym jest SHOW PROCESSLIST w MySQL?
Polecenie SHOW PROCESSLIST umożliwia wyświetlenie aktualnych zapytań i połączeń z bazą danych MySQL. Dzięki niemu można zdiagnozować, które procesy obciążają serwer, trwają zbyt długo, są zablokowane lub zbędne. Pozwala to skutecznie zarządzać wydajnością bazy oraz ręcznie zakończyć problematyczne operacje.
Sprawdzenie i zakończenie zapytania przez phpMyAdmin
Krok 1: Zaloguj się do phpMyAdmin
Zaloguj się do panelu phpMyAdmin, korzystając z danych dostępowych do swojej bazy danych (login, hasło, host).
Krok 2: Otwórz zakładkę „Status”
W górnym menu kliknij zakładkę „Status”, a następnie wybierz „Procesy”
Krok 3: Zidentyfikuj problematyczne zapytania
Zwróć uwagę na kolumny:
Czas – czas trwania zapytania (im dłuższy, tym większy potencjał problemu),
Status – status zapytania (np. Locked, Waiting for table metadata lock),
- Zapytanie SQL – treść zapytania, co ułatwia rozpoznanie operacji.
Krok 4: Zakończ wybrane zapytanie
Po lewej stronie każdego z procesów znajdziesz link: Zabij.
Użyj go, aby wymusić zakończenie procesu / zapytania.
Sprawdzenie i zakończenie zapytania przez konsolę (SSH)
Krok 1: Aktywacja i logowanie się na SSH
Aby móc wykonać kolejne kroki, musisz upewnić się, że masz aktywowaną w dPanelu usługę Secure Shell (SSH) oraz musisz zalogować się do konsoli.
TUTAJ znajdziesz instrukcję jak zalogować się do konsoli przy użyciu aplikacji Putty.
Krok 2: Uruchom klienta MySQL
Po połączeniu z serwerem, uruchom konsolę MySQL poleceniem:
mysql -u nazwa_uzytkownika -p
Po naciśnięciu Enter system poprosi Cię o hasło do bazy danych. Po poprawnym logowaniu zobaczysz interfejs tekstowy MySQL.
Opcjonalnie, jeśli chcesz połączyć się z konkretną bazą od razu:
mysql -u nazwa_uzytkownika -p nazwa_bazy
Krok 3: Wyświetl aktywne zapytania
W konsoli MySQL wpisz:
SHOW FULL PROCESSLIST;
Zostanie wyświetlona lista aktywnych połączeń, z informacjami o:
- identyfikatorze procesu (Id),
- użytkowniku,
- czasie działania (Time),
- stanie (State),
- pełnej treści zapytania (Info).
Krok 4: Zakończ wskazany proces
Aby zakończyć konkretne zapytanie, wpisz:
KILL 1234;
Zamieniając 1234
na właściwy identyfikator z listy.
Kiedy warto zakończyć zapytanie?
Zakończenie zapytania warto rozważyć w sytuacjach takich jak:
zapytanie trwa podejrzanie długo (np. kilkaset sekund),
status zapytania to „Locked” lub „Waiting for table metadata lock” – może blokować inne procesy,
zapytania typu „Sleep” utrzymujące się bezczynnie przez długi czas,
połączenia z zewnętrznych źródeł, które generują niepotrzebny ruch.
Praktyczne porady
Unikaj przerywania zapytań, które mogą zapisywać dane – może to prowadzić do ich utraty.
Monitoruj bazę regularnie, szczególnie przy dużym ruchu lub po aktualizacjach.
Rozważ wdrożenie limitów czasu trwania zapytań (
max_execution_time
), aby automatycznie przerywać zbyt długie operacje.Zapytania powtarzające się i wolne – zoptymalizuj indeksy i strukturę zapytań SQL.