mysql锁表解决方案

问题描述

    今天开发时,发现系统中所有涉及到有张表的查询功能,怎么也查询不出结果,同时无法修改该表,初步怀疑是系统中有个功能把这张表给锁死了。

解决步骤:

步骤一、  查询锁,判断对应的表是否被锁

select * from information_schema.innodb_locks

步骤二、如果没有没有锁的话,就查询事务

select * from information_schema.innodb_trx

查询来的结果如图所示:

字段解释:

trx_query 当前事务正在执行的语句
trx_mysql_thread_id 事务线程id
trx_rows_locked 行锁
trx_tables_locked  表锁
trx_lock_memory_bytes 内存锁

步骤三、找到处于RUNNING状态时间很长的那张表对应的事务线程ID,把它kill调,trx_mysql_thread_id 替换成实际的线程ID值

kill trx_mysql_thread_id

最后附上ddl语句锁表解决方案:

Mysql DDL出现长时间等待MDL问题分析_weixin_34025151的博客-优快云博客给表新增字段时,发现锁表了,查看进程,提示Waiting for table metadata lock,等待锁释放;然而蛋疼的是几分钟过去了,依然没有任何的进展,特此记录下这个问题的定位过程以及MDL的相关背景知识看到上面的表现,基本问题就来了Metadata Lock 是什么鬼是什么原因导致一直等待I. 问题定位首先需要确认什么地方加锁,从mysql出发,应该怎么定位?1. ...https://blog.youkuaiyun.com/weixin_34025151/article/details/91375826?

我也来记一次 关于 MySQL Waiting for table metadata lock 的问题 - FooFish问题的起因是这样的,我在准备执行修改表结构的SQL,主要是新增字段,然后就卡住了,网站也无法访问了。系统瞬间崩溃,出现 502访问超时。 现在就来分析一下这个问题的原因。 Waiting for table metadata lock 的意思当前线程正在等待获取该表的 metadata ...https://foofish.net/mysql-waiting-for-table.html

MYSQL锁表问题的解决方法 - 星朝 - 博客园本文实例讲述了MYSQL锁表问题的解决方法。分享给大家供大家参考,具体如下: 很多时候!一不小心就锁表!这里讲解决锁表终极方法! 案例一 mysql>show processlist; 参看sqhttps://www.cnblogs.com/jpfss/p/9203547.html?ivk_sa=1024320u

MySQL Online DDL导致全局锁表案例分析 - 云+社区 - 腾讯云线上给某个表执行新增索引SQL, 然后整个数据CPU打到100%, 连接数暴增到极限, 最后导致所有访问数据库的应用都奔溃.https://cloud.tencent.com/developer/article/1424027

  mysql  metadata lock锁(元数据锁)问题分析解决参考文章 

MySQL 全局锁和表锁 - keme - 博客园根据加锁的范围,MySQL 里面的锁大致可以分成全局锁,表级锁,行锁。 行锁已经在前面几篇文章说过 1. 全局锁 全局锁就是对整个数据库实例加锁。MySQL 提供了一个加全局读锁的方法,命令https://www.cnblogs.com/keme/p/11065025.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

成伟平2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值