在MySQL5.1.X版本里,如果想更改InnoDB锁超时时间,就必须修改my.cnf,让innodb_lock_wait_timeout = 10,然后重启MySQL服务。
在遇到锁等待时,经常会遇到如下所示错误,如果这个参数设置得过大,那么锁等待的时间就会很长。
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
从MySQL5.5.X版本开始,可以动态修改该参数,该参数默认是50秒。修改命令如下:
set global innodb_lock_wait_timeout = 10;
关于innodb_lock_wait_timeout参数的介绍,请参见MySQL5.5手册: