mysql出现Deadlock死锁排查

桃扇骨 2024-02-20 11:04 179阅读 0赞

参考: https://www.yisu.com/zixun/664543.html

查看mysql死锁日志

  1. show engine innodb status

找到信息中LATEST DETECTED DEADLOCK这一行,可以看到mysql的死锁信息详情

  1. ------------------------
  2. LATEST DETECTED DEADLOCK
  3. ------------------------
  4. 2023-10-31 10:39:46 0x454c
  5. *** (1) TRANSACTION:
  6. TRANSACTION 92835125, ACTIVE 7 sec fetching rows
  7. mysql tables in use 1, locked 1
  8. LOCK WAIT 183 lock struct(s), heap size 24784, 21601 row lock(s), undo log entries 1
  9. MySQL thread id 607, OS thread handle 13228, query id 748731 USER-20201018QG 192.168.4.57 root updating
  10. UPDATE battle_confrontation_zone SET result=0,
  11. score=0,
  12. is_exit_midway='1',
  13. update_by='',
  14. update_time='2023-10-31 10:41:30.259'
  15. WHERE (room_id = '1698720784400' AND user_id = 533)
  16. *** (1) WAITING FOR THIS LOCK TO BE GRANTED:
  17. RECORD LOCKS space id 50870 page no 263 n bits 232 index PRIMARY of table `medical-insurance-city-test`.`battle_confrontation_zone` trx id 92835125 lock_mode X waiting
  18. Record lock, heap no 162 PHYSICAL RECORD: n_fields 15; compact format; info bits 0

处理

对update的where条件添加复合索引
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,179人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java DeadLock

    死锁 多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源,才能运行,从而导致两个或多个线程都在等待对方释放资源,都停止执行的情形。 某一个同步块,同

    相关 mysql排查

    应用访问Mysql数据库的时候,如果业务逻辑写的不严谨,不规范,就会发生死锁,如果此业务逻辑调用并发高,则业务日志经常会有死锁的错误日志产生。应用发生死锁,于是dba就

    相关 mysql排查

    应用访问Mysql数据库的时候,如果业务逻辑写的不严谨,不规范,就会发生死锁,如果此业务逻辑调用并发高,则业务日志经常会有死锁的错误日志产生。应用发生死锁,于是dba就