mysql 事务的一个问题

2015-09-25 10:34:05 +08:00
 cjyang1128

最近遇到了一个很神奇的偶现的 bug 。我对两条 update 语句上了 transaction ,然后事务执行也成功了,没有发生回滚。然而最后的结果是只执行了第一条 update 语句。。。因为这个 bug 出现的概率特别低,很难偶现,所以这样的问题应该怎么排查比较好呢?比如说看哪些 log 可以看出来原因。求教~

2626 次点击
所在节点    MySQL
9 条回复
tesion99
2015-09-25 10:49:57 +08:00
mysql log 或者 mysql error log ,看 my.cnf 里面是怎么配置的了
zeayes
2015-09-25 16:02:11 +08:00
开了 bin-log ,可以看下里面执行的 sql 命令,确认一下是不是只执行了一次。
better0332
2015-09-25 16:10:54 +08:00
第二条执行失败有主动 rollback 吗?
你确认用了 innodb 引擎吗?
cjyang1128
2015-09-25 17:47:49 +08:00
@better0332 是 innodb
cjyang1128
2015-09-25 17:48:10 +08:00
@better0332 是 innodb
@zeayes 恩,已经在查看了,找到问题后再回复
cjyang1128
2015-09-25 18:34:37 +08:00
@zeayes bin-log 里面确实有这条语句。所以。。。咋回事=-=
gamexg
2015-09-25 18:38:49 +08:00
是不是其他的线程帮你改回去了?
free9fw
2015-09-25 22:42:32 +08:00
@gamexg 极有可能
cjyang1128
2015-09-28 13:37:26 +08:00
@gamexg
@free9fw 我们找了一下目前的 sql ,涉及到这个字段更改的,只有这条 sql 。。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/223539

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX