![获取所有长时间运行的 mysql 查询的脚本](https://linux22.com/image/161365/%E8%8E%B7%E5%8F%96%E6%89%80%E6%9C%89%E9%95%BF%E6%97%B6%E9%97%B4%E8%BF%90%E8%A1%8C%E7%9A%84%20mysql%20%E6%9F%A5%E8%AF%A2%E7%9A%84%E8%84%9A%E6%9C%AC.png)
我需要在 mysql 服务器上获取长时间运行的查询以用于警报目的。找到了方法,但是不行:
show full processlist;
表明选择睡眠(10);但没有显示从 my_custom_table 中选择 *;
答案1
你可能会喜欢 mysql 慢查询日志;看 https://dev.mysql.com/doc/refman/5.7/en/slow-query-log.html。简而言之,它可以记录所有花费时间超过给定阈值的查询以供以后分析。
请务必查找与您的 mysql 版本相对应的文档版本,因为这是一个快速发展的项目,新版本可能具有旧版本所没有的功能。
最后,请注意慢速查询日志会很快填满硬盘,因此在启用它时您必须密切关注。