怎么解决Mysql Sleep线程引发的锁等待故障


本篇内容主要讲解“怎么解决Mysql Sleep线程引发的锁等待故障”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大开发云主机域名家学习“怎么解决Mysql Sleep线程引发的锁等待故障”吧!背景:负责的生产库出现告警too many connections.解决过程:1. 第一反应就是出现了大量的连接或者是DDL把实例打满了,随即登上实例尝试登陆,却发现已经连不上了。然后动态调大连接数后。使用如下SQL看到大量的UPDATE线程未执行完。2. 此时看到这个场景,大家大概率都会以为是表tbl_prod的ID没有索引所以是全表查找更新,然而看到执行计划却发现并不是,反而是主键更新。3. 随后查看innodb引擎当前的状态,发现很有意思的事了,这些update线程都在等待锁,以其中一个线程为例。4. 此时基本上可以断定是有长事务未提交导致的大量主键更新等待了。我们采用如下SQL可以找到这个长连接。5. 可以看到上面的第一条执行时间最长的为NULL的线程占用锁时间最长,其后则是大量的update等待线程了。那么我们将这个最长的null线程给KILL掉,问题即得到解决。到此,相信大家对“怎么解决Mysql Sleep线程引发的锁等待故障”有了更深的了解,不妨来实际操作一番吧!这里是开发云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: MySQL主从复制项目实施与维护01(MR)_MySQL高可用复制与分布式集群架构02

视频教程学习地址 http://edu.51cto.com/course/14237.html Oracle/MySQL数据库学习专用QQ群:336282998、189070296学完风哥本课程能熟悉以下内容:一、课程内容1.MySQL复制技术基础之基本原理2…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/20 16:08
下一篇 06/20 16:08

相关推荐