InnoDB数据库死锁问题处理

2019-01-04 15:36:20王旭

死锁产生了!因为客户A需要锁X来删除行,而客户B拿着锁X并正在等待客户A释放锁S。看看客户A,B的状态:

客户A: 拿着锁S,等待着客户B释放锁X。
客户B: 拿着锁X,等待着客户A释放锁S。

发生死锁后,InnoDB会为对一个客户产生错误信息并释放锁。返回给客户的信息:

ERROR 1213 (40001): Deadlock found when trying to get lock;
try restarting transaction
所以,另一个客户可以正常执行任务。死锁结束。

您可能感兴趣的文章:

深入浅出解析mssql在高频,高并发访问时键查找死锁问题MySQL死锁问题分析及解决方法实例详解sql server 2000阻塞和死锁问题的查看与解决方法ASP.NET MVC4 Razor模板简易分页效果ASP.NET MVC5+EF6+EasyUI后台管理系统 微信公众平台开发之消息管理ASP.NET 程序员都非常有用的85个工具ASP.NET Core 数据保护(Data Protection)上篇ASP.NET MVC中URL地址传参的两种写法解决 .NET Core 中 GetHostAddressesAsync 引起的 EnyimMemcached 死锁问题