美文网首页
记一次锁表排查处理

记一次锁表排查处理

作者: 咯噔爸比 | 来源:发表于2022-08-25 16:21 被阅读0次

前因

某条sql出现了报错
 Lock wait timeout exceeded; try restarting transaction 
不知道具体的啥问题

分析过程

MYSQL 查看锁表情况
查看事物情况//具体参考文档,发现有条事物执行很久了也没有提交估计是问题在这,并且锁了5张表(行锁),sql 无数据显示(是事物执行完了未提交)
select * from information_schema.INNODB_TRX;
查看锁等待情况 //由于是行锁,并且是事物 无数据
select * from performance_schema.data_lock_waits;
查看事物与锁分析//由于是行锁,并且是事物 无数据
SELECT waiting_trx_id,waiting_pid,waiting_query,blocking_trx_id,blocking_pid,blocking_query FROM sys.innodb_lock_waits;
事物未提交锁表查询//由于是行锁,并且是事物 无数据
select t1.id,t2.thread_id,t3.sql_text from 
information_schema.processlist t1,performance_schema.threads t2,performance_schema.events_statements_current t3 where t1.id=15692090 
and t1.id=t2.processlist_id and t2.thread_id = t3.thread_id

解决过程

1.一通分析发现然并卵。。。
2.由于采用的云数据库,开启了sql洞察
3.根据SQL洞察找到执行的时间点,发现有条sql报错了(插入)后续的提交没有了
一定要做好捕获异常呀兄弟们
4.由于还是队列服务,正常的错误报警并没有收到(自己做的错误监测,实时通信的那种😊)
5.找到出问题的位置解决,有个数据的变量没有设置插入的时候失败了😭
至此问题解决。。。
只要一直找,问题总能处理掉的

相关文章

  • 记一次锁表排查处理

    前因 分析过程 解决过程 1.一通分析发现然并卵。。。2.由于采用的云数据库,开启了sql洞察3.根据SQL洞察找...

  • MySQL - 一次锁表排查

    最近遇到单条更新SQL语句一直报超时: 原因是有一个事务,因为开发机器上不正常中断程序,导致没有提交。 先从mys...

  • MySQL 行锁 表锁

    表锁 表锁的优势:开销小;加锁快;无死锁 表锁的劣势:锁粒度大,发生锁冲突的概率高,并发处理能力低 加锁的方式:自...

  • netty线上问题排查

    记一次压测异常排查

  • MySQL-存储引擎、锁以及事务

    MySQL存储引擎(处理表的处理器) 锁 解决客户端并发访问的冲突问题 锁分类 锁类型 读锁(共享锁)加读锁之后别...

  • 一天一道面试题——数据库篇5(锁)

    锁的分类 按照属性 共享锁(读锁) 排它锁(写锁) 按照粒度 表锁 页锁 行锁(多行) InnoDB的行锁实现 记...

  • JVM问题排查实战系列

    JVM问题排查实战 记一次频繁FGC的简单排查 一次JVM GC长暂停的排查过程 如何使用MAT进行内存泄露分析

  • mysql : 行锁,表锁,共享锁,排他锁,悲观锁,乐观锁

    1.表级锁与行级锁 表级锁: table-level locking,锁住整个表。 开销小,加锁快。不会死锁(一次...

  • mysql 笔记 (锁,事物)

    锁读锁:共享锁写锁:排它锁锁粒度表锁 :最小开销的锁策略行级锁:支持最大并发处理,在InnDB存储引擎中得以实现,...

  • 乐观锁和悲观锁

    乐观锁和悲观锁的机制: 乐观锁是一种思想,具体实现是,表中有一个版本字段,第一次读的时候,获取到这个字段。处理完业...

网友评论

      本文标题:记一次锁表排查处理

      本文链接:https://www.haomeiwen.com/subject/dkqzgrtx.html