我们有一个 MySQL 慢查询杀手,它在经过指定的秒数后杀死进程 ID,并且工作正常。然而,我们希望在我们的通知中也能看到如此缓慢的完整查询。
问题是虽然mysqladmin -v processlist|grep process_id
应该可以工作,但它会截断其中包含换行符的查询,例如:
SELECT * FROM table WHERE x=y {
... stuff
};
这里的东西将被切断,查询因此被截断。(我意识到这在语法上可能不正确,因为我不是 DBA,但我只是想举例说明我们有时必须在应用程序中处理的那种查询流程;请不要抱怨格式,这不是我的决定,也不在我的控制之下。)
我相信,做一个查询information_schema
可以解决这个问题,但是团队不想这样做,因为对该数据库的查询经常涉及到性能影响。那么有没有比 grepping 更好的方法来解决这个问题mysqladmin
?