前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【微课】MySQL快速解除死锁

【微课】MySQL快速解除死锁

作者头像
十里桃花舞丶
发布2021-02-05 14:44:11
9080
发布2021-02-05 14:44:11
举报
文章被收录于专栏:桥路_大数据

【微课】MySQL快速解除死锁

在MySQL中,因为SQL操作导致的行级锁有:DML锁、DDL锁。

其中DML锁是因为SQL执行异常,导致更新事务无法提交,如更新语句中的查询语句无索引,造成全表扫描而阻塞。

而DDL锁则是因为表结构变更时,遇到慢查询,造成等待。

不管是哪种锁,一般在排查时会涉及到3张表。

1、information_schema.innodb_trx:记录innodb引擎的事务信息。

2、information_schema.innodb_locks:记录innodb引擎中锁信息。

3、information_schema.innodb_lock_waits:记录innodb引擎中因为锁而产生等待的事务信息。

但通常,我们会直接查询一个视图innodb_lock_waits,它由前面三张表的部分数据组成,记录innodb引擎中正在等待锁的进程。

代码语言:javascript
复制
select sql_kill_blocking_connection,blocking_pid,waiting_pid from sys.innodb_lock_waits;

查询到被锁住的SQL后,执行KILL命令终止即可。

代码语言:javascript
复制
KILL <ID>;

但这种方式简单粗暴,可能会造成误杀,但在测试环境中很高效,你Get到了吗?

后话

如果有帮助的,记得点赞、关注。在公众号《数舟》中,可以免费获取专栏《数据仓库》配套的视频课程、大数据集群自动安装脚本,并获取进群交流的途径。

我所有的大数据技术内容也会优先发布到公众号中。如果对某些大数据技术有兴趣,但没有充足的时间,在群里提出,我为大家安排分享。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/02/03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【微课】MySQL快速解除死锁
  • 后话
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档