MySQL数据库中的锁阻塞是什么

  介绍

今天就跟大家聊聊有关MySQL数据库中的锁阻塞是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。


RHEL 6.4 x86_64 + MySQL 5.6.19

事务隔离级别:RR

2。测试过程

 MySQL数据库中的锁阻塞是什么

3。查看锁阻塞线程信息

这里用几中方法进行分析:

3.1,使用显示processlist查看

 - - - - - - - - - - - -
  交易
  ------------
  Trx id计数器4131
  清除了trx # 39; n: o & lt;4119年撤销n: o & lt;0状态:运行但闲置
  126年历史列表的长度
  每个会话的事务列表:
  ——事务0,而不是开始
  MySQL线程id 2 0 x7f953ffff700 OS线程处理,查询id 115根init localhost
  显示引擎innodb状态
  4130年——事务,积极41秒开始指数阅读
  在使用mysql表1,锁定1
  锁等待2锁结构(s),堆大小360,1行锁(s)
  MySQL线程id 4 0 x7f953ff9d700 OS线程处理,查询id 112 localhost根更新
  删除从emp empno=7788
  - - - - - - -硫氧还蛋白已经41秒等待这个锁被授予:# #等待了41
  记录锁空间id 16页没有3 n位88指数的主要表“测试”。emp的硫氧还蛋白id 4130 lock_mode X锁rec但不是差距等
  记录锁,堆物理记录:9号n_fields 10;紧凑的格式;信息比特0 # #线程4在等待往测试。电磁脉冲中的主键上加X锁,num=3页
  0:len 4;十六进制80001生活;asc l;;
  1: len 6;十六进制000000001018;asc;;
  2:len 7;十六进制91000001420084;asc B;;
  3:len 5;十六进制53434 f5454;asc斯科特;;
  4:len 7;十六进制414 e414c595354;asc分析师;;
  5:len 4;十六进制80001 d8e;asc;;
  6:len 4;十六进制208794 f0;asc;;
  7:len 4;十六进制80000 bb8;asc;;
  8:SQL零;
  9:len 4;十六进制80000014;asc;;
  
  ------------------
  ——4129年事务,积极阅读45秒开始索引
  在使用mysql表1,锁定1
  锁等待2锁结构(s),堆大小360,1行锁(s)
  MySQL线程id 7操作系统线程处理0 x7f953ff6c700查询id 111根更新本地主机
  更新emp萨尔=3500,empno=7788
  - - - - - - -硫氧还蛋白已经45秒等待这个锁被授予:# #等待了45 s
  记录锁空间id 16页没有3 n位88指数的主要表“测试”。emp的硫氧还蛋白id 4129 lock_mode X锁rec但不是差距等
  记录锁,堆物理记录:9号n_fields 10;紧凑的格式;信息比特0 # #线程7在等待往测试。电磁脉冲中的主键上加X锁,num=3页
  0:len 4;十六进制80001生活;asc l;;
  1: len 6;十六进制000000001018;asc;;
  2:len 7;十六进制91000001420084;asc B;;
  3:len 5;十六进制53434 f5454;asc斯科特;;
  4:len 7;十六进制414 e414c595354;asc分析师;;
  5:len 4;十六进制80001 d8e;asc;;
  6:len 4;十六进制208794 f0;asc;;
  7:len 4;十六进制80000 bb8;asc;;
  8:SQL零;
  9:len 4;十六进制80000014;asc;;
  
  ------------------
  ——4128年事务,积极51秒
  2锁结构(s),堆大小360,1行锁(s)
  MySQL线程id 3 0 x7f953ffce700 OS线程处理,查询id 110 localhost根清理

我们知道,主要根因还是线程=3引起的,但从innodb状态中却无法分析得到这个结果。

从上面来看,线程4和线程7都在等待往测试。电磁脉冲中的主键上加X锁,num=3页,但是线程7等待的时间为45 s,而线程4等待的时间为41个年代,是较线程7之后申请的锁,所以可以判断是线程7阻塞了线程4。至于线程7为什么出现等待,这里分析不到根因。

MySQL数据库中的锁阻塞是什么