tidb死锁了怎么处理

【 TiDB 使用环境】生产环境
【 TiDB 版本】v5.4.0
【复现路径】发现数据库中有死锁,请问下该怎么处理。
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

参考下这里
https://docs.pingcap.com/zh/tidb/stable/dev-guide-transaction-troubleshoot#死锁

死锁可以看看里面的sql 的业务场景,基本都是业务场景的sql 逻辑存在一些问题导致的

请问下先怎么解决这个锁的问题

已经出现在了deadlocks的字典表了,那说明已经结束了,还需要怎么解决么。。。剩下的根据上面的链接看能不能优化代码吧

好的,感谢。

历史发生的死锁会记录到日志文件中吗?

会,出现这个记录,Deadlock found when trying to get lock; try restarting transaction

找死锁原因,丢给开发,然后把他们骂一顿。

1 个赞

TiDB的日志在哪里查?我是想了解TiDB的错误日志,像mysql 的error log,顺便了解一下其他的文件结构,暂时还没查到在哪里有这块内容的介绍。

找到死锁的原因也就是sql,拉开发一起分析优化

1 个赞

我查了一下我的测试环境目录发现tidb.log 中也会有死锁记录。


但是感觉日志中只有一个报错deadlock的记录,没有另外一个语句的记录,这里information_schema.deadlock中记录的比较详细。问题是information_schema.deadlock会被删除吗?

还有一个记录死锁的表,记录条数可以配置select * from INFORMATION_SCHEMA.CLUSTER_DEADLOCKS ;

找到了,确实是开发的原因

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。