最近遇到了一个很神奇的偶现的 bug 。我对两条 update 语句上了 transaction ,然后事务执行也成功了,没有发生回滚。然而最后的结果是只执行了第一条 update 语句。。。因为这个 bug 出现的概率特别低,很难偶现,所以这样的问题应该怎么排查比较好呢?比如说看哪些 log 可以看出来原因。求教~
![]() | 1 tesion99 2015-09-25 10:49:57 +08:00 mysql log 或者 mysql error log ,看 my.cnf 里面是怎么配置的了 |
![]() | 2 zeayes 2015-09-25 16:02:11 +08:00 开了 bin-log ,可以看下里面执行的 sql 命令,确认一下是不是只执行了一次。 |
![]() | 3 better0332 2015-09-25 16:10:54 +08:00 第二条执行失败有主动 rollback 吗? 你确认用了 innodb 引擎吗? |
![]() | 4 cjyang1128 OP @better0332 是 innodb |
![]() | &bsp; 5 cjyang1128 OP |
![]() | 6 cjyang1128 OP @zeayes bin-log 里面确实有这条语句。所以。。。咋回事=-= |
![]() | 7 gamexg 2015-09-25 18:38:49 +08:00 是不是其他的线程帮你改回去了? |
![]() | 9 cjyang1128 OP |