mysql死锁检测

死锁条件:

 

操作相同资源,{1、可能是相同进程内的线程执行   2、也可能是不同进程内的线程执行}

 

死锁原因:

相同表记录行记录 

不同索引锁冲突

 

 

mysql引擎,innodb检测死锁的方式

1、直观方法是看两个事务相互等待,当一个等待时间超过设置的某个阈值时,对其中一个事务进行回滚,另一个事务就能继续执行,innodb_lock_wait_timeout用来设置超时时间

2、wait-for graph原理 innodb将各个事务堪称一个个节点,资源就是各个事务占用的锁,当事务1需要等待事务2的锁时,就生成一条有向边从1指向2,形成一个有向图

posted @ 2021-08-19 14:09  6000a  阅读(224)  评论(0)    收藏  举报