У нас есть медленный убийца запросов MySQL, который убивает идентификаторы процессов после определенного количества секунд, и это работает нормально. Однако мы хотели бы, чтобы в наших уведомлениях также был показан полный запрос, который был настолько медленным.Лучший способ получить полный запрос mysql для конкретного идентификатора процесса?
Проблема заключается в том, что в то время как mysqladmin -v processlist|grep process_id
должен работать, он обрезает запросы, которые имеют в них новые строки т.д .:
SELECT * FROM table WHERE x=y {
... stuff
};
Здесь материал будет отрезан и запрос усекается константы выглядит. (Я понимаю, что это не может быть синтаксически корректным, поскольку я не являюсь администратором баз данных, но я просто хотел привести пример потока запросов, который нам иногда приходится иметь дело в наших приложениях, пожалуйста, не жалуйтесь на формат , это не было моим решением и не было под моим контролем.)
Выполнение запроса в information_schema
, по-моему, решило бы это, но команда не хочет этого делать из-за запросов на производительность, связанных с этой базой данных связаны. Так есть ли лучший способ приблизиться к этому, тогда grepping mysqladmin
?
Вы используете скрипт bash для этого? –
Привет, как это получилось? –