2011-11-03 41 views

回答

6

默认情况下,mysql不会记录查询。但是你可以增加sql配置文件的日志级别。请尝试将文件:/etc/mysql/my.cnf,并取消对行

general_log    = 1 

出于性能方面,它默认是关闭的。

+0

+1使用预准备语句时特别有用。 – netcoder

0

好吧,如果设置正确,那应该是。它通常是默认的。您可以在MySQL文档中获得更多信息:http://dev.mysql.com/doc/refman/5.0/en/server-logs.html

另外,如果您使用* nix或BSD,日志通常存储在/ var/log /中。

+1

如果您阅读了您发送的链接:“默认情况下,不启用日志。” – samura

+0

我对此非常抱歉。看起来我一直在使用启用它的服务器。 – Wowca

-2

你是什么意思像空查询或坏querys?

$sql = mysql_query(select * from table); 
// but theres no rows you would right a if statment with mysql_num_rows 
if(mysql_num_rows($sql) > 0){ 

}else{ 
// error message here for empty 
} 

// or 
mysql_query(......)or die(mysql_error()); 
// this will tell you why its returnig false! 
+0

我的意思是登录MySQL数据库不使用自定义的PHP代码来记录错误。 –

0

MySQL在查询失败时没有错误记录。但是,如果性能模式为你的MySQL服务器激活,您可以使用下面的查询,以检查在执行其遇到了一个错误的疑问:

select * from events_statements_summary_by_digest where SUM_ERRORS >0;

Monyog嗅探器功能可以帮助您与此因为它以每分钟级别从性能模式数据库中提取所有查询和相关数据。