Na mojej liście procesów widzę długotrwały proces. Nie ma zapytania, tylko polecenie „Lista pól” z pustą kolumną informacyjną. Czekał prawie 20 minut na blokadę metadanych tabeli w nieokreślonej tabeli.

Wyszukiwanie w Google hasła „Lista pól polecenia MySQL” nie zwróciło niczego użytecznego. Czy ktoś może mi powiedzieć, co próbuje zrobić to polecenie i co mogło to spowodować?

Używanie MySQL 5.6.35 na pudełku CentOS 6

tutaj wprowadź opis obrazu

Komentarze

Odpowiedź

Poszukaj wierszy w PROCESSLIST z czasem wyższym niż ten (1188). Prawdopodobnie wskazuje złoczyńcę. Właściciel obu wierszy może dać wskazówkę.

„Blokada metadanych” obejmuje coś innego niż proste zapytania – prawdopodobnie ALTER TABLE lub LOCK TABLES (jak dla mysqldump) itd.

„Lista pól” brzmi jak sondowanie information_schema kolumn w tabeli, ale mogę się mylić.

Inną możliwością jest to, że istnieje otwarta transakcja, która czeka na COMMITted. (I to jest „pomiędzy” instrukcjami, kiedy PROCESSLIST został złapany.)

SHOW OPEN TABLES; może dać kolejną wskazówkę.

Komentarze

  • Prawdopodobnie należało uwzględnić w pytaniu, że jest to najdłużej działający proces. Część information_schema ma jednak sens.
  • Dodałem jeszcze jedną myśl – o transakcjach. I SHOW OPEN TABLES;

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *