在mysql服务器上执行的查询列表

时间:2012-04-20 10:34:26

标签: mysql sql

mysql服务器是否保留在其上执行的查询记录,如果这样做,是否可以检索这些查询。

感谢。

4 个答案:

答案 0 :(得分:2)

如果要记录所有执行的查询,可以启用General Query LogSlow Query Log并将阈值设置为0秒(任何超过0秒的查询都将记录)。

另一个选项是Binary log。但是,二进制日志不会记录SELECTSHOW等不修改数据的查询。

请注意,这些日志在具有流量的服务器中相当快。而且两者都可能包含密码,因此必须保护它们免受未经授权的攻击。<​​/ p>

答案 1 :(得分:2)

您可以使用General Query Log,以纯文本格式记录所有查询。

我们只在我们的开发环境中启用了此功能。在非高峰时段暂时在生产服务器上打开它应该不是问题。

如果您正在寻找慢查询,也可以使用Slow Query Log

答案 2 :(得分:1)

您可以使用位于客户端应用程序和RDBMS之间的MySQL代理。

http://forge.mysql.com/wiki/MySQL_Proxy

您可以查看在线查询,还可以根据规则重写查询。

答案 3 :(得分:0)

还有另一种选择 - 使用分析器。

例如:http://www.jetprofiler.com/