Мы пытаемся выполнить некоторую отладку производительности сервера, и я хотел бы сделать снимок запросов, выполняемых на нашем сервере MySQL в течение пары минут.
Я знаком с MySQL SHOW FULL PROCESSLIST
, однако я хотел бы иметь возможность запускать это через командную строку, чтобы я мог записать его в файл и обработать его.
Есть ли способ вывести этот запрос в файл и запускать его каждую секунду или около того?
Есть ли лучший способ перехватить все запросы?
Обратите внимание, что меня не интересуют только медленные запросы (я знаком с медленным журналом запросов).
echo show full processlist | mysql
или лучше SELECT info FROM information_schema.processlist WHERE Command="Query" AND User!="root"
использовать цикл в bash. Добавьте пару строк , и вы получите такую же функциональность запросов , чем innotop
или pt-kill