2016-01-15 176 views
1

有没有什么办法可以检查MySql数据库中发生的查询?在MySql中查询的历史记录

例如: 我有一个应用程序(OTRS),允许您根据所需的帧生成报告。我想知道应用程序在数据库中进行了哪个查询。

因为我会用它来与其他报告软件集成。

这可能吗?

+4

http://dev.mysql.com/doc/refman/5.7/en/query-log.html(只是不让它在生产中,它会快速填满) – ceejayoz

回答

0

是的,你可以在MySQL服务器中启用日志记录功能。有几种类型的日志可供您使用,具体取决于您想要记录的内容,仅从错误或缓慢的查询开始,以及记录所有在您的服务器上完成的日志。

查看完整的文档here

0

虽然,正如尼尔说,MySQL能够记录所有的查询(你应该看综合记录或0秒的门槛设置慢日志),这将显示所有的查询正在运行;在生产系统上,可能难以将您在浏览器中执行的操作与日志中的特定条目进行匹配。

我建议使用慢速查询日志的原因是,有些工具可以从查询中删除参数,让您看到更频繁运行的SQL代码。

如果您对Perl有一定的熟练程度,那么应该直接输出 - 处理所有查询via an abstraction layer

(想必大家都知道,在schema is published