Ми намагаємось виконати налагодження продуктивності сервера, і я хотів би зробити знімок запитів, що виконуються на нашому сервері 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