介绍 3。查看锁阻塞线程信息
3.1,使用显示processlist查看
今天就跟大家聊聊有关MySQL数据库中的锁阻塞是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
RHEL 6.4 x86_64 + MySQL 5.6.19
事务隔离级别:RR
2。测试过程
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为什么出现等待,这里分析不到根因。