通过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锁限制了双方的都处于等待对方的锁导致。