设为首页 收藏本站
查看: 1447|回复: 0

[经验分享] MySQL死锁案例

[复制链接]
YunVN网友  发表于 2018-9-28 10:49:37 |阅读模式
  版本:MySQL 5.1.56-log
  LATEST DETECTED DEADLOCK
  ------------------------
  140111  2:44:29
  *** (1) TRANSACTION:

  TRANSACTION 5 871020258, ACTIVE 0 sec, process no 23080, OS thread>  mysql tables in use 1, locked 1

  LOCK WAIT 3 lock struct(s), heap>
  MySQL thread>  update t_wiki_audit_his set HIS_STATE=0  where PRODUCT_ID = '01020702' AND RESOURCE_NAME = '鄂尔多斯办假存款证明Q.272689.7451'
  *** (1) WAITING FOR THIS LOCK TO BE GRANTED:

  RECORD LOCKS space> `PRIMARY` of table `hddoc/t_wiki_audit_his` trx>  Record lock, heap no 46 PHYSICAL RECORD: n_fields 31; compact format; info bits 32
  0: len 8; hex 8000000000af07dd; asc         ;; 1: len 6; hex 000533eab6d9; asc   3   ;; 2: len 7; hex 000138c0021145; asc   8   E;; 3: len 8; hex 3031303230373032; asc 01020702;; 4: len 8; hex 8000001748ac6049; asc     H `I;; 5: len 21; hex e58588e5aea1e5908ee58f91e8af84e5aea1e5aea4; asc                      ;; 6: len 17; hex 4f57316c425655564241676b4151566c57; asc OW1lBVUVBAgkAQVlW;; 7: len 30; hex e98482e5b094e5a49ae696afe58a9ee58187e5ad98e6acbee8af81e6988e; asc                               ;...(truncated); 8: len 4; hex 80000001; asc     ;; 9: len 6; hex 636e776c6b63; asc cnwlkc;; 10: len 17; hex 595131315255454263415746666655524a; asc YQ11RUEBcAWFffURJ;; 11: len 4; hex 52d03af5; asc R : ;; 12: len 1; hex 80; asc  ;; 13: len 1; hex 81; asc  ;; 14: len 28; hex e4ba92e58aa8e7aea1e79086e591982de887aae58aa8e8af84e5aea1; asc                -            ;; 15: len 17; hex 735a33466e6457563656516c59566c466d; asc sZ3FndWV6VQlYVlFm;; 16: len 0; hex ; asc ;; 17: len 0; hex ; asc ;; 18: len 4; hex 52d04092; asc R @ ;; 19: len 30; hex e5898de58fb0e689b9e9878fe8af84e5aea12de8af8de69da1e586bbe7bb; asc                   -           ;...(truncated); 20: SQL NULL; 21: len 1; hex 43; asc C;; 22: len 1; hex 43; asc C;; 23: len 1; hex 80; asc  ;; 24: len 1; hex 80; asc  ;; 25: len 4; hex 80000000; asc     ;; 26: len 4; hex 80000000; asc     ;; 27: len 4; hex 80000000; asc     ;; 28: len 4; hex 80000000; asc     ;; 29: len 4; hex 80000001; asc     ;; 30: len 4; hex 80000001; asc     ;;
  *** (2) TRANSACTION:

  TRANSACTION 5 871020249, ACTIVE 0 sec, process no 23080, OS thread>  mysql tables in use 1, locked 1

  3 lock struct(s), heap>
  MySQL thread>
  delete from t_wiki_audit_his where>  *** (2) HOLDS THE LOCK(S):

  RECORD LOCKS space>PRIMARY` of table `hddoc/t_wiki_audit_his` trx>  Record lock, heap no 46 PHYSICAL RECORD: n_fields 31; compact format; info bits 32
  0: len 8; hex 8000000000af07dd; asc         ;; 1: len 6; hex 000533eab6d9; asc   3   ;; 2: len 7; hex 000138c0021145; asc   8   E;; 3: len 8; hex 3031303230373032; asc 01020702;; 4: len 8; hex 8000001748ac6049; asc     H `I;; 5: len 21; hex e58588e5aea1e5908ee58f91e8af84e5aea1e5aea4; asc                      ;; 6: len 17; hex 4f57316c425655564241676b4151566c57; asc OW1lBVUVBAgkAQVlW;; 7: len 30; hex e98482e5b094e5a49ae696afe58a9ee58187e5ad98e6acbee8af81e6988e; asc                               ;...(truncated); 8: len 4; hex 80000001; asc     ;; 9: len 6; hex 636e776c6b63; asc cnwlkc;; 10: len 17; hex 595131315255454263415746666655524a; asc YQ11RUEBcAWFffURJ;; 11: len 4; hex 52d03af5; asc R : ;; 12: len 1; hex 80; asc  ;; 13: len 1; hex 81; asc  ;; 14: len 28; hex e4ba92e58aa8e7aea1e79086e591982de887aae58aa8e8af84e5aea1; asc                -            ;; 15: len 17; hex 735a33466e6457563656516c59566c466d; asc sZ3FndWV6VQlYVlFm;; 16: len 0; hex ; asc ;; 17: len 0; hex ; asc ;; 18: len 4; hex 52d04092; asc R @ ;; 19: len 30; hex e5898de58fb0e689b9e9878fe8af84e5aea12de8af8de69da1e586bbe7bb; asc                   -           ;...(truncated); 20: SQL NULL; 21: len 1; hex 43; asc C;; 22: len 1; hex 43; asc C;; 23: len 1; hex 80; asc  ;; 24: len 1; hex 80; asc  ;; 25: len 4; hex 80000000; asc     ;; 26: len 4; hex 80000000; asc     ;; 27: len 4; hex 80000000; asc     ;; 28: len 4; hex 80000000; asc     ;; 29: len 4; hex 80000001; asc     ;; 30: len 4; hex 80000001; asc     ;;
  *** (2) WAITING FOR THIS LOCK TO BE GRANTED:

  RECORD LOCKS space>  Record lock, heap no 411 PHYSICAL RECORD: n_fields 3; compact format; info bits 0
  0: len 15; hex e98482e5b094e5a49ae696afe58a9e; asc                ;; 1: len 8; hex 3031303230373032; asc 01020702;; 2: len 8; hex 8000000000af07dd; asc         ;;
  *** WE ROLL BACK TRANSACTION (1)
  以上是死锁信息,从上面的两个sql语句分析出:update语句,走的是IDX_RESOURCE_NAME_PRODUCT_ID索引,先对此索引上的记录加锁,然后再对primary key上的记录加锁;
  delete语句,走的是主键索引,先对主键索引记录加锁,然后再对IDX_RESOURCE_NAME_PRODUCT_ID索引记录加锁;
  这两个顺序正好相反,如果并发同时操作同一条记录,就有可能产生死锁。- 事实发现确实是并发updta和delete同一条记录……
  结论:因此此死锁时不可避免的。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-603178-1-1.html 上篇帖子: zabbix 3.0.2监控mysql 下篇帖子: MGR——Mysql的组复制之多主模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表