为了调试 webapp 和 mysql 查询,我启用了 mysql 查询日志。但是,它不是一种很好的 tail 和 grep 格式。理想情况下,我希望能够仅显示来自特定用户的查询或对特定数据库的查询。如果 mysql 查询日志在每一行上打印数据库或用户,那么我就可以 grep 它。有时我想查看在某个日期发生了什么,但由于 mysql 查询日志不会在每一行上打印日期时间,因此这比较困难。
有没有什么方法可以让 mysql 查询日志更适合 tail/grep/etc 呢?
答案1
您可能应该使用 mk-query-digest - 它的功能非常强大。
答案2
您要尝试执行的操作(记录单个用户的查询)可能更容易通过以下方式实现:mysql 代理。基本上,它是一种位于 mysql 服务器和客户端之间的服务。有许多关于如何根据您设置的标准记录或操作数据的代码示例。
无论如何,我不知道有什么工具可以做到这一点。您可能需要做的是找到一个 mysql 日志解析器库,然后编写一个使用该库并提取所需数据的脚本。