https://www.youtube.com/watch?v=uYOG_2NRahI

事务 a
表 t id =100 更新 加行锁
表 t id = 200 更新 已加锁
事务 b
表 t id=200 更新 加行锁
表 t id=100 更新 已加锁
- 死锁与锁等待是两个概念
- 如未开启事务,多个客户端执行的 insert 操作
- 当多个事务同时持有和请求同一个资源上的锁而产生循环依赖的时候就产生了死锁。

排查:
- 正在运行的任务
- show_full_processlist:找到卡住的进程
- 解开死锁
- 查看当前运行的事务
- SELECT * FROM information_schema.INNODB_TRX;