Próbujemy przeprowadzić debugowanie wydajności serwera i chciałbym uchwycić migawkę zapytań uruchamianych na naszym serwerze MySQL w ciągu kilku minut.
Znam MySQL SHOW FULL PROCESSLIST
, jednak chciałbym móc uruchomić to za pomocą wiersza poleceń, aby móc zrzucić go do pliku i przetworzyć.
Czy istnieje sposób na wyprowadzenie tego zapytania do pliku i uruchamianie go co sekundę?
Czy istnieje lepszy sposób na przechwycenie wszystkich uruchomionych zapytań?
Zauważ, że nie interesują mnie tylko powolne zapytania (znam powolny dziennik zapytań).
echo show full processlist | mysql
lub lepiej SELECT info FROM information_schema.processlist WHERE Command="Query" AND User!="root"
w pętli w bash. Dodać kilka wierszy i dostaniesz taką samą funkcjonalność zapytań niż innotop
lub pt-kill