如何解决是否可以配置MySQL日志记录,使其仅报告已回滚的查询?
| 我正在尝试查找一个间歇性错误,我只想捕获导致回滚失败的MySQL查询。我不希望有完整的常规查询或二进制日志,因为干草堆中有数百万个条目需要排序。 除了MySQL之外,类似这样的解决方案将是完美的。 TIA, 京东解决方法
不是直接回答您的问题,而是实用程序
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中完成。如果您不使用像ѭ1这样的低级函数,而使用像-> 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
}
}
}
您可以覆盖不同的方法,例如更新,查询和其他方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。