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. Prime ring problem,递归,广搜,回溯法枚举,很好的题

    题目描述: A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each ...

  2. docker info 警告"WARNING: No swap limit support"

    vim/etc/default/grub 找到 GRUB_CMDLINE_LINUX="" 在双引号里面输入cgroup_enable=memory swapaccount=1 然 ...

  3. Spring - AOP简介与图示

    [1]AOP (Aspect-Oriented Programming, 面向切面编程),是一种新的方法论, 是对传统 OOP(Object-Oriented Programming, 面向对象编程) ...

  4. Hadoop学习笔记2 - 第一和第二个Map Reduce程序

    转载请标注原链接http://www.cnblogs.com/xczyd/p/8608906.html 在Hdfs学习笔记1 - 使用Java API访问远程hdfs集群中,我们已经可以完成了访问hd ...

  5. 数据t转换

    #!/usr/bin/perl use strict; use warnings;    open my $fh,"a.out"; open OUT,">a_t.o ...

  6. 前端工程化基础-vue

    由浅入深支持更多功能 1.安装最新版本的node.js和NPM,并了解NPM基本用法. 2.创建一个目录demo.使用npm 初始化配置: npm init  ,执行后会有一系列选项,可按回车快速确认 ...

  7. JAVA日常之三

    一.Main方法的args参数 args[] 是程序运行前可传入的参数,比如 java HelloWorld a,那么在HelloWorld的main方法里面 args就是{"a" ...

  8. linux文本编辑器vim大全

    linux基础之vim编辑器 1.vim编辑器 基本介绍 vim编辑器的前身叫做vi.vi的英文名:Visual  Interface.中文解释文本编辑器,你不应该用他去打开二进制可执行文件 文本编辑 ...

  9. FixedUpdate()使用

    当MonoBehaviour启用时,其 FixedUpdate在每一帧被调用. 处理Rigidbody时,需要用FixedUpdate代替Update.例如:给刚体加一个作用力时,你必须应用作用力在F ...

  10. SQL学习 存储过程&DUAL表

    CREATE OR REPLACE PROCEDURE 存储过程 转自 https://www.cnblogs.com/lideng/p/3427822.html oracle中dual表的用途介绍 ...