Tomcat日志报死锁错误,show innodb status获取死锁信息:

------------------------
LATEST DETECTED DEADLOCK
------------------------
181107 9:30:46
*** (1) TRANSACTION:
TRANSACTION 2067C318, ACTIVE 16 sec fetching rows
mysql tables in use 1, locked 1
LOCK WAIT 2183 lock struct(s), heap size 407992, 145 row lock(s), undo log entries 8
MySQL thread id 20259, OS thread handle 0x189c, query id 276602977 localhost 127.0.0.1 root updating
delete from a93 where patientId=164136 and count=9
*** (1) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 4609 page no 4 n bits 136 index `PRIMARY` of table `emr_new2`.`a93` trx id 2067C318 lock_mode X locks rec but not gap waiting
Record lock, heap no 4 PHYSICAL RECORD: n_fields 71; compact format; info bits 0
0: len 4; hex 00000003; asc ;;
1: len 6; hex 000010d0240c; asc $ ;;
2: len 7; hex 9b000023d70110; asc # ;;
3: len 2; hex 3630; asc 60;;
4: len 1; hex 31; asc 1;;
5: len 8; hex d2f2c0bbceb2d1d7; asc ;;
6: len 10; hex d0d0c0bbceb2c7d0b3fd; asc ;;
7: len 0; hex ; asc ;;
8: len 1; hex 32; asc 2;;
9: len 0; hex ; asc ;;
10: len 0; hex ; asc ;;
11: len 0; hex ; asc ;;
12: len 0; hex ; asc ;;
13: len 0; hex ; asc ;;
14: len 0; hex ; asc ;;
15: len 0; hex ; asc ;;
16: len 0; hex ; asc ;;
17: len 0; hex ; asc ;;
18: len 0; hex ; asc ;;
19: len 0; hex ; asc ;;
20: len 0; hex ; asc ;;
21: len 0; hex ; asc ;;
22: len 0; hex ; asc ;;
23: len 0; hex ; asc ;;
24: len 0; hex ; asc ;;
25: len 0; hex ; asc ;;
26: len 0; hex ; asc ;;
27: len 0; hex ; asc ;;
28: len 0; hex ; asc ;;
29: len 0; hex ; asc ;;
30: len 0; hex ; asc ;;
31: len 0; hex ; asc ;;
32: len 0; hex ; asc ;;
33: len 0; hex ; asc ;;
34: len 0; hex ; asc ;;
35: len 0; hex ; asc ;;
36: len 0; hex ; asc ;;
37: len 0; hex ; asc ;;
38: len 0; hex ; asc ;;
39: len 0; hex ; asc ;;
40: len 0; hex ; asc ;;
41: len 0; hex ; asc ;;
42: len 0; hex ; asc ;;
43: len 0; hex ; asc ;;
44: len 0; hex ; asc ;;
45: len 0; hex ; asc ;;
46: len 0; hex ; asc ;;
47: len 0; hex ; asc ;;
48: len 0; hex ; asc ;;
49: len 0; hex ; asc ;;
50: len 0; hex ; asc ;;
51: len 0; hex ; asc ;;
52: len 0; hex ; asc ;;
53: len 0; hex ; asc ;;
54: len 0; hex ; asc ;;
55: SQL NULL;
56: len 1; hex 30; asc 0;;
57: len 1; hex 30; asc 0;;
58: len 1; hex 6e; asc n;;
59: len 4; hex 80000a40; asc @;;
60: len 4; hex 80000000; asc ;;
61: len 2; hex 3020; asc 0 ;;
62: len 0; hex ; asc ;;
63: len 20; hex 3020202020202020202020202020202020202020; asc 0 ;;
64: len 6; hex 6e2020202020; asc n ;;
65: len 4; hex 59f974ee; asc Y t ;;
66: len 2; hex 3931; asc 91;;
67: len 6; hex cdf5bed5c7ef; asc ;;
68: len 30; hex 3230c4eac7b0d2f2d3d2b1c7b2e0c6a4b7f4bbf9b5d7cfb8b0fbb0a9a3ac; asc 20 ; (total 114 bytes);
69: len 0; hex ; asc ;;
70: len 4; hex 80000001; asc ;; *** (2) TRANSACTION:
TRANSACTION 2067C43F, ACTIVE 7 sec fetching rows, thread declared inside InnoDB 424
mysql tables in use 1, locked 1
2223 lock struct(s), heap size 440760, 192 row lock(s), undo log entries 8
MySQL thread id 20135, OS thread handle 0xf28, query id 276602976 localhost 127.0.0.1 root updating
delete from a93 where patientId=164136 and count=9
*** (2) HOLDS THE LOCK(S):
RECORD LOCKS space id 4609 page no 4 n bits 136 index `PRIMARY` of table `emr_new2`.`a93` trx id 2067C43F lock_mode X locks rec but not gap
Record lock, heap no 4 PHYSICAL RECORD: n_fields 71; compact format; info bits 0
0: len 4; hex 00000003; asc ;;
1: len 6; hex 000010d0240c; asc $ ;;
2: len 7; hex 9b000023d70110; asc # ;;
3: len 2; hex 3630; asc 60;;
4: len 1; hex 31; asc 1;;
5: len 8; hex d2f2c0bbceb2d1d7; asc ;;
6: len 10; hex d0d0c0bbceb2c7d0b3fd; asc ;;
7: len 0; hex ; asc ;;
8: len 1; hex 32; asc 2;;
9: len 0; hex ; asc ;;
10: len 0; hex ; asc ;;
11: len 0; hex ; asc ;;
12: len 0; hex ; asc ;;
13: len 0; hex ; asc ;;
14: len 0; hex ; asc ;;
15: len 0; hex ; asc ;;
16: len 0; hex ; asc ;;
17: len 0; hex ; asc ;;
18: len 0; hex ; asc ;;
19: len 0; hex ; asc ;;
20: len 0; hex ; asc ;;
21: len 0; hex ; asc ;;
22: len 0; hex ; asc ;;
23: len 0; hex ; asc ;;
24: len 0; hex ; asc ;;
25: len 0; hex ; asc ;;
26: len 0; hex ; asc ;;
27: len 0; hex ; asc ;;
28: len 0; hex ; asc ;;
29: len 0; hex ; asc ;;
30: len 0; hex ; asc ;;
31: len 0; hex ; asc ;;
32: len 0; hex ; asc ;;
33: len 0; hex ; asc ;;
34: len 0; hex ; asc ;;
35: len 0; hex ; asc ;;
36: len 0; hex ; asc ;;
37: len 0; hex ; asc ;;
38: len 0; hex ; asc ;;
39: len 0; hex ; asc ;;
40: len 0; hex ; asc ;;
41: len 0; hex ; asc ;;
42: len 0; hex ; asc ;;
43: len 0; hex ; asc ;;
44: len 0; hex ; asc ;;
45: len 0; hex ; asc ;;
46: len 0; hex ; asc ;;
47: len 0; hex ; asc ;;
48: len 0; hex ; asc ;;
49: len 0; hex ; asc ;;
50: len 0; hex ; asc ;;
51: len 0; hex ; asc ;;
52: len 0; hex ; asc ;;
53: len 0; hex ; asc ;;
54: len 0; hex ; asc ;;
55: SQL NULL;
56: len 1; hex 30; asc 0;;
57: len 1; hex 30; asc 0;;
58: len 1; hex 6e; asc n;;
59: len 4; hex 80000a40; asc @;;
60: len 4; hex 80000000; asc ;;
61: len 2; hex 3020; asc 0 ;;
62: len 0; hex ; asc ;;
63: len 20; hex 3020202020202020202020202020202020202020; asc 0 ;;
64: len 6; hex 6e2020202020; asc n ;;
65: len 4; hex 59f974ee; asc Y t ;;
66: len 2; hex 3931; asc 91;;
67: len 6; hex cdf5bed5c7ef; asc ;;
68: len 30; hex 3230c4eac7b0d2f2d3d2b1c7b2e0c6a4b7f4bbf9b5d7cfb8b0fbb0a9a3ac; asc 20 ; (total 114 bytes);
69: len 0; hex ; asc ;;
70: len 4; hex 80000001; asc ;; *** (2) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 4609 page no 5 n bits 144 index `PRIMARY` of table `emr_new2`.`a93` trx id 2067C43F lock_mode X locks rec but not gap waiting
Record lock, heap no 36 PHYSICAL RECORD: n_fields 71; compact format; info bits 0
0: len 4; hex 00000068; asc h;;
1: len 6; hex 000010fb7bde; asc { ;;
2: len 7; hex 4a000040381ed0; asc J @8 ;;
3: len 0; hex ; asc ;;
4: len 0; hex ; asc ;;
5: len 0; hex ; asc ;;
6: len 0; hex ; asc ;;
7: len 0; hex ; asc ;;
8: len 1; hex 33; asc 3;;
9: len 0; hex ; asc ;;
10: len 0; hex ; asc ;;
11: len 0; hex ; asc ;;
12: len 0; hex ; asc ;;
13: len 0; hex ; asc ;;
14: len 0; hex ; asc ;;
15: len 0; hex ; asc ;;
16: len 0; hex ; asc ;;
17: len 0; hex ; asc ;;
18: len 0; hex ; asc ;;
19: len 0; hex ; asc ;;
20: len 0; hex ; asc ;;
21: len 12; hex bfd5b8b9d1aaccc7cadccbf0; asc ;;
22: len 1; hex 33; asc 3;;
23: len 4; hex c4ead3e0; asc ;;
24: len 10; hex ceb4d3c3d2a9d6cec1c6; asc ;;
25: len 0; hex ; asc ;;
26: len 0; hex ; asc ;;
27: len 0; hex ; asc ;;
28: len 0; hex ; asc ;;
29: len 0; hex ; asc ;;
30: len 0; hex ; asc ;;
31: len 0; hex ; asc ;;
32: len 0; hex ; asc ;;
33: len 0; hex ; asc ;;
34: len 0; hex ; asc ;;
35: len 0; hex ; asc ;;
36: len 0; hex ; asc ;;
37: len 0; hex ; asc ;;
38: len 0; hex ; asc ;;
39: len 0; hex ; asc ;;
40: len 0; hex ; asc ;;
41: len 0; hex ; asc ;;
42: len 0; hex ; asc ;;
43: len 0; hex ; asc ;;
44: len 0; hex ; asc ;;
45: len 0; hex ; asc ;;
46: len 0; hex ; asc ;;
47: len 0; hex ; asc ;;
48: len 0; hex ; asc ;;
49: len 0; hex ; asc ;;
50: len 0; hex ; asc ;;
51: len 0; hex ; asc ;;
52: len 0; hex ; asc ;;
53: len 0; hex ; asc ;;
54: len 0; hex ; asc ;;
55: SQL NULL;
56: len 1; hex 30; asc 0;;
57: len 1; hex 30; asc 0;;
58: len 1; hex 6e; asc n;;
59: len 4; hex 80000876; asc v;;
60: len 4; hex 80000000; asc ;;
61: len 2; hex 3020; asc 0 ;;
62: len 0; hex ; asc ;;
63: len 20; hex 3020202020202020202020202020202020202020; asc 0 ;;
64: len 6; hex 6e2020202020; asc n ;;
65: len 4; hex 5a1a2d94; asc Z - ;;
66: len 4; hex 31373133; asc 1713;;
67: len 6; hex d5c5d1debaec; asc ;;
68: len 9; hex 756e646566696e6564; asc undefined;;
69: len 3; hex 313435; asc 145;;
70: len 4; hex 80000001; asc ;; *** WE ROLL BACK TRANSACTION (1)

TRANSACTION 2067C318, ACTIVE 16 sec fetching rows
mysql tables in use 1, locked 1
LOCK WAIT 2183 lock struct(s), heap size 407992, 145 row lock(s), undo log entries 8
MySQL thread id 20259, OS thread handle 0x189c, query id 276602977 localhost 127.0.0.1 root updating
delete from a93 where patientId=164136 and count=9
*** (1) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 4609 page no 4 n bits 136 index `PRIMARY` of table `emr_new2`.`a93` trx id 2067C318 lock_mode X locks rec but not gap waiting
Record lock, heap no 4 PHYSICAL RECORD: n_fields 71; compact format; info bits 0

*** (2) TRANSACTION:
TRANSACTION 2067C43F, ACTIVE 7 sec fetching rows, thread declared inside InnoDB 424
mysql tables in use 1, locked 1
2223 lock struct(s), heap size 440760, 192 row lock(s), undo log entries 8
MySQL thread id 20135, OS thread handle 0xf28, query id 276602976 localhost 127.0.0.1 root updating
delete from a93 where patientId=164136 and count=9
*** (2) HOLDS THE LOCK(S):
RECORD LOCKS space id 4609 page no 4 n bits 136 index `PRIMARY` of table `emr_new2`.`a93` trx id 2067C43F lock_mode X locks rec but not gap
Record lock, heap no 4 PHYSICAL RECORD: n_fields 71; compact format; info bits 0

可以看到两个事务 TRANSACTION 2067C318 和 TRANSACTION 2067C43F 分别执行: delete from a93 wehre patientId=164136 and count=9

导致了相互等待。

查看表结构和数据量,发现 patientId未加索引,数据量很大,导致delete语句会全表扫描,容易长时间持有锁。

加上索引: alter table a93 add index patientId(patientId);

  

MySQL死锁分析一例的更多相关文章

  1. 线上BUG:MySQL死锁分析实战

    原文链接:线上BUG:MySQL死锁分析实战 1 线上告警 我们不需要关注截图中得其他信息,只要能看到打印得org.springframework.dao.DeadlockLoserDataAcces ...

  2. <转>一个最不可思议的MySQL死锁分析

    1 死锁问题背景 1 1.1 一个不可思议的死锁 1 1.1.1 初步分析 3 1.2 如何阅读死锁日志 3 2 死锁原因深入剖析 4 2.1 Delete操作的加锁逻辑 4 2.2 死锁预防策略 5 ...

  3. MySQL死锁分析

    死锁问题背景 做MySQL代码的深入分析也有些年头了,再加上自己10年左右的数据库内核研发经验,自认为对于MySQL/InnoDB的加锁实现了如指掌,正因如此,前段时间,还专门写了一篇洋洋洒洒的文章, ...

  4. 一个最不可思议的MySQL死锁分析

    1    死锁问题背景    1 1.1    一个不可思议的死锁    1 1.1.1    初步分析    3 1.2    如何阅读死锁日志    3 2    死锁原因深入剖析    4 2. ...

  5. 一次线上mysql死锁分析

    一.现象 发运车次调用发车接口时发生异常,后台抛出数据库死锁日志. 二.原因分析 通过日志可以看出事务T1等待 heap no 8的行锁 (X locks 排他锁) 事务T2持有heap no 8的行 ...

  6. Mysql 死锁分析

    1. 结论 死锁检查机制 当事务A需要获取一个行锁时(例如更新一行数据),假如需要获取行1的锁 检查其他事务有没有已获取了行1的锁. 如果有,例如事务B已获取了行1的锁. 继续检查事务B在等待的锁,如 ...

  7. Mysql 死锁问题

    Innodb锁系统(4) Insert/Delete 锁处理及死锁示例分析 http://mysqllover.com/?p=431 关于innodb死锁 http://afei2.sinaapp.c ...

  8. MySQL 死锁问题分析

    转载: MySQL 死锁问题分析 线上某服务时不时报出如下异常(大约一天二十多次):"Deadlock found when trying to get lock;". Oh, M ...

  9. mysql死锁问题分析

    线上某服务时不时报出如下异常(大约一天二十多次):“Deadlock found when trying to get lock;”. Oh, My God! 是死锁问题.尽管报错不多,对性能目前看来 ...

随机推荐

  1. for循环:用turtle画一颗五角星2

    import turtle turtle.setup(600,400,0,0) turtle.bgcolor('red') turtle.pencolor('yellow') turtle.fillc ...

  2. random模块用法

    最近生病,学习进度少许拖延,, import random # 随机取0~1之间的小数 print(random.random()) # 随机取2数之间的整数 print(random.randint ...

  3. 三,用户交互方式与python基本数据类型

    一.与用户交互 input python2中:用户输入什么类型的数据,就储存为什么类型的数据.比如输入数字则储存为整型,输入符号则存储为字符串型.raw_input会将所有输入的类型转换为字符串型. ...

  4. linux下centos解压时报错: gzip: stdin: not in gzip format   tar: Child returned status 1   tar: Error is not recoverable: exiting now

    最近在linux下安装python时,解压Python.tgz文件时遇到一个问题:          gzip: stdin: not in gzip format      tar: Child r ...

  5. vue.js 精学记录

    v-bind:class使用的方式: 1.对象与法::class="{'active':isActive}" 此时当isActive为true时,会拥有active 2.数组语法: ...

  6. border边框属性

    边框属性: 边框宽度(border-width):thin.medium.thick.长度值 边框颜色(border-color):颜色.transparent(透明) 边框样式(border-sty ...

  7. django_视图层_编写url

    URL的配置 django中,url也称urlconf,默认的django项目设定两个url地址,分别是admin站点管理和首页地址.from diango.urls import path,incl ...

  8. 利用位运算进行a+b的计算(Java&&Python)

    题目链接 需要用到的位运算操作:异或(^).与(&).右移(<<) 异或运算:又称不进位加法,a^b得到的结果为a与b相加,但是需要进位的地方不进位得到的结果 与运算:找出来a和b ...

  9. C# 代码补全

    cw + Tab + Tab           输出 Console.WriteLine(); try +Tab+Tab           输出 try catch代码块 foreach + Ta ...

  10. Ubuntu使用命令行打印文件

    Ubuntu使用命令行打印文件 正文 环境: Ubuntu 16.04.3 LTS HP Deskjet InkAdvantage 4648 准备步骤 安装Common UNIX Printing S ...