首页 >数据库 >mysql教程 >通过MYSQL日志定位死锁有关问题

通过MYSQL日志定位死锁有关问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原创
2016-06-07 16:23:461137浏览

通过MYSQL日志定位死锁问题 LATEST DETECTED DEADLOCK ------------------------ 140121 21:28:15 *** (1) TRANSACTION :事务 AC690EFA,活动 0 秒,进程号 2040,操作系统线程 id 139751216285440 插入正在使用的 mysql 表 1,锁定 1 LOC

通过MYSQL日志定位死锁问题


最新检测到的死锁
------------------------
140121 21:28:15
** * (1) 事务:
事务 AC690EFA,活动 0 秒,进程号 2040,操作系统线程 ID 139751216285440 插入
使用中的 mysql 表 1,锁定 1
LOCK WAIT 2 锁定结构,堆大小376, 1 行锁,撤消日志条目 1
MySQL 线程 id 1072445,查询 id 990357233 192.168.16.71 meizu_push4app update
INSERT IGNORE INTO T_BS_PUSH_SUB_EXTEND(FSEQUENCENO, FUSERID, FDEVICEID, FPACKAGEID, F SERVICEID、FSERVICETOKEN、       FSUBSTATUS , FSUBTIME, FVERSIONID, FProduct,固件)     值(27021094, 0, '862845025904090', 3, 8, '862845025904090100004', 1,       1390310896, 103140, 'M 351', '4.2')
*** (1)等待授予此锁:
记录锁空间 id 6915 页号 323879 n 位 568 表 `MEIZU_PUSH`.`T_BS_PUSH_SUB_EXTEND` trx id AC690EFA lock_mode X 等待
记录锁,堆号 214物理记录:n_fields 4;格式紧凑;信息位 0
0:长度 1;十六进制 03; asc ;;
1: len 15;十六进制 383632383435303235393034303930; asc 862845025904090;;
2: 长度 2;十六进制 0008; asc   ;;
3: len 8;十六进制 00000000019c4697; asc       F ;;

*** (2) 事务:
事务 AC690EFB,ACTIVE 0 秒,进程号 2040,操作系统线程 id 139751337277184 插入,在 InnoDB 500
使用中的 mysql 表内声明的线程1,锁定 1
3 个锁结构,堆大小 1248,2 个行锁,撤消日志条目 5
MySQL 线程 id 1072539,查询 id 990357236 192.168.16.78 meizu_push4app update
INSERT IGNORE INTO T_BS_PUSH_SUB_EXTEND(FSEQUENCENO、FUSERID、FDEVICEID、FPACKAGEID、FSERVICEID、FSERVICETOKEN、       FSUBSTATUS、FSUBTIME、FVERSIONID、FProduct、FFIRMWARE)     VALUES(27018907, 0, '862845025904090', 3, '862845025904090100004', 1,       1390310896, 156050, ' M351', null)
*** (2) 持有锁:
记录锁空间 id 6915 页号 323879 n 位 568 表 `MEIZU_PUSH` 的索引 `UDX_PKG_DEVICE`。`T_BS_PUSH_SUB_EXTEND` trx id AC690EFB lock_mode X 锁定记录,但不锁定间隙
记录锁定,堆编号 214 物理记录:n_fields 4;格式紧凑;信息位 0
0:长度 1;十六进制 03; asc ;;
1: len 15;十六进制 383632383435303235393034303930; asc 862845025904090;;
2: 长度 2;十六进制 0008; asc   ;;
3: len 8;十六进制 00000000019c4697; asc       F ;;

*** (2) 等待授予此锁:
记录锁空间 id 6915 页号 323879 n 位 568 表 `MEIZU_PUSH` 的索引 `UDX_PKG_DEVICE`。`T_BS_PUSH_SUB_EXTEND ` trx id AC690EFB lock_mode X 锁定记录插入意图等待之前的间隙
记录锁,堆编号 214 物理记录:n_fields 4;格式紧凑;信息位 0
0:长度 1;十六进制 03; asc ;;
1: len 15;十六进制 383632383435303235393034303930; asc 862845025904090;;
2: 长度 2;十六进制 0008; asc   ;;
3: len 8;十六进制 00000000019c4697; asc       F ;;

*** WE ROLL BACK TRANSACTION (1)


上述场景是一次性插入多个数据,而多个数据放在一个事务中统一一次提交。当192.168.16.71和192.168.16.78服务器同时发来请求批量添加数据时,由于UDX_PKG_DEVICE锁限制了双方的都处于等待对方的锁导致。
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn