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. Mybatis Generator主要配置详解

    MyBatis 的代码生成主要配置文档[具体] <?xml version="1.0" encoding="UTF-8"?> <!DOCTYP ...

  2. 解决Caused by: java.lang.IllegalArgumentException: A universal match pattern ('/**') is defined before other patterns in the filter chain, causing them to be ignored. Please check the ordering in your

    写项目时应用了SpringSecurity框架来进行登陆验证,之前单独的写简单的SpringSecrity的Demo时并没有报错,但是当和SpringMVC一起整合时却发生了报错 报错如下: Caus ...

  3. linux系统中文件的权限

    查看文件权限的语句: 在终端输入:ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些:-rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表的是 ...

  4. HAProxy原理和配置

    HAProxy原理和配置 目录 1.HAProxy简介 2.haproxy安装和配置说明 proxies配置参数 bind配置 Balance配置 基于cookie的会话绑定 统计接口启用相关的参数 ...

  5. C#杀掉进程的方法

    C#杀掉进程的方法 private static string CmdName = "cmd"; /// <summary> /// 关闭进程 /// </sum ...

  6. Asp.Net Form表单控件的回车默认事件

    当form表单文本框控件在收到回车事件时,默认会触发表单内第一个可提交按钮的事件,但业务中可能要求有其它控件进行提交,而不是这个默认的 这时需要脚本控件事件冒泡传递取消回事事件. $(document ...

  7. .net 程序 动态 控制IIS 站点域名绑定

    第一步:引用 导入 System.EnterpriseServices及System.DirectoryServices 两个引用 程序引用: using System.DirectoryServic ...

  8. 【转载】tolua之wrap文件的原理与使用

    什么是wrap文件 每个wrap文件都是对一个c#类的包装,在lua中,通过对wrap类中的函数调用,间接的对c#实例进行操作. wrap类文件生成和使用的总体流程 生成一个wrap文件的流程 这部分 ...

  9. scrollview中edittext失去焦点问题

    //edittext获取焦点后会瞬间失去,暂时使用这种笨方法解决(获取到焦点后过300ms再获取一次) public void requesFocus() { mEditName.setOnFocus ...

  10. CSS选择器中的特殊性

    我们来看一下一个简单的例子: <!DOCTYPE html><html lang="en"><head> <meta charset=&q ...