我有一个间歇性错误,我正在努力追踪,我只想捕获导致回滚的失败MySQL查询。我不想要一个完整的通用查询或二进制日志,因为大海捞针中会有数百万个条目需要排序。
除了MySQL之外,类似这样的解决方案将是完美的。
TIA,
JD
这不是您问题的直接答案,但实用程序mysqlbinlog
可以从二进制日志中提取数据。
请参阅:此页面中的用户评论:http://dev.mysql.com/doc/refman/5.5/en/binary-log.html
本页:http://ronaldbradford.com/blog/mysql-dml-stats-per-table-2009-09-09/
以下是mysqlbinlog的官方文档,它可能会帮助您获得所需的信息。
在MySQL中,这是非常困难的(或者可能是不可能的)。你可以用PHP来完成。如果不使用像mysql_query
这样的低级函数,而使用像->query()这样的高级方法,则可以向它们添加逻辑。若查询失败(例如返回false),请将其添加到日志中。对不起我的英语。
Zend_DB:注意事项
class My_DB extends Zend_DB {
public function insert($data) {
try {
parent::insert($data);
} catch (Exception $e) {
// put $e->getMessage() to log
}
}
}
您可以覆盖不同的方法,如更新、查询和其他。。。