drop table if exists t1; show variables like 'innodb_rollback_on_timeout'; Variable_name Value innodb_rollback_on_timeout ON create table t1 (a int unsigned not null primary key) engine = innodb; insert into t1 values (1); commit; connect con1,localhost,root,,; connect con2,localhost,root,,; connection con2; begin work; insert into t1 values (2); select * from t1; a 1 2 connection con1; begin work; insert into t1 values (5); select * from t1; a 1 5 insert into t1 values (2); ERROR HY000: Lock wait timeout exceeded; try restarting transaction select * from t1; a 1 commit; connection con2; select * from t1; a 1 2 commit; connection default; select * from t1; a 1 2 drop table t1; disconnect con1; disconnect con2; End of 5.0 tests