echo "SHOW PROCESSLIST\G" | mysql -u root -p | grep "Info:" | awk -F":" '{count[$NF]++}END{for(i in count){printf("%d: %s\n", count[i], i)}}' | sort -n


Эта команда выполняет следующие действия:

1. echo "SHOW PROCESSLIST\G" | mysql -u root -p: Отправляет команду «SHOW PROCESSLIST» на сервер MySQL с использованием учетных данных пользователя root, запрашивая пароль. Эта команда выводит список активных соединений и запросов к серверу MySQL в формате «SHOW PROCESSLIST».

2. grep "Info:": Фильтрует вывод, чтобы оставить только строки, содержащие «Info:», что позволяет извлечь информацию о выполняемых SQL-запросах.

3. awk -F":" '{count[$NF]++}END{for(i in count){printf("%d: %s\n", count[i], i)}}': Анализирует каждую строку и считает уникальные SQL-запросы, используя их текст (после «Info:») в качестве ключей. По завершении анализа, выводит количество каждого уникального SQL-запроса и сам запрос, отсортированные по количеству запросов в порядке возрастания.

4. sort -n: Сортирует результаты

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *