Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

线上遇到 MySQL 死锁怎样还原现场?

查看完整题解

参考回答

直接回答

保留死锁报告,找出每个事务执行的语句、持有与等待的锁,再按顺序画出等待环。结合表索引和业务访问路径,定位为何同一批资源被反向获取。

讲清原理

最近一次死锁信息会被后续事件覆盖,运行时等待视图也只是当前证据。统一锁顺序、缩小扫描和缩短事务针对不同成因。

两个事务分别持有对方所需记录,等待形成闭环
两个事务分别持有对方所需记录,等待形成闭环

例子与易错点

对可重试失败,在应用重新开始整个事务并设上限。核对受影响业务和外部动作幂等,避免只在日志中把报错隐藏。

相关题 · 第 30 题、第 66 题

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。