July 30, 2012

[MySQL 源码]MySQL5.1版本 lock table write与DML操作产生的MySQL层/Innodb层死锁

转载请署名:印风 ————————————- 当在set autocommit=0时,执行lock table write操作,如果此时有同一个表上进入Innodb层的DML,可能导致死锁,这种死锁MySQL不做检测,只能等待Innodb层超时,简单的分析如下: 1. 对于lock table write操作,backtrace如下: SQL :set aucommit = 0 && lock tables t1 write: mysql_execute_command     –>open_and_lock_tables_derived          –>simple_open_n_lock_tables             –>open_and_lock_tables_derived                 –>lock_tables                   –>mysql_lock_tables […]