1

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

谢谢。

4

4 回答 4

2

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

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

如果您正在寻找慢查询,您不妨使用慢查询日志

于 2012-04-20T10:56:41.743 回答
2

如果要记录所有执行的查询,可以启用常规查询日志慢速查询日志,并将阈值设置为 0 秒(任何超过 0 秒的查询都将被记录)。

另一种选择是二进制日志。但是,二进制日志不会记录类似SELECTSHOW不修改数据的查询。

请注意,这些日志在有流量的服务器中变得非常快。并且两者都可能包含密码,因此必须保护它们免受未经授权的眼睛的伤害。

于 2012-04-20T10:39:40.020 回答
1

You can use MySQL Proxy which stands between client app and RDBMS itself.

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

You can see online queries and also it allows you to rewrite queries based on rules.

于 2012-04-20T11:00:47.167 回答
0

There's another option - use a profiler.

For instance: http://www.jetprofiler.com/

于 2012-04-20T11:02:16.663 回答