mysql: Lock wait timeout exceeded; try restarting transaction

http://www.byywee.com/page/M0/S467/467000.html
理论上讲,单纯的这条语句是不会引起是不会引起这种错误的,可能是与其它事务产生了资源争用,去检查mysql进程有看有没有操作相同的事务的进程,如果不是,就修改mysql配置吧。
 
 
原因是你使用的InnoDB   表类型的时候,
默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,
因为有的锁等待超过了这个时间,所以报错.
 

你可以把这个时间加长,或者优化存储过程,事务避免过长时间的等待.


 


my.ini文件:
#innodb_lock_wait_timeout = 50
-》
innodb_lock_wait_timeout = 500

 


 
重启mysql服务生效。
 
 
 
 
 
 
 
posted @ 2014-11-09 09:20  程序员斯文  阅读(314)  评论(0编辑  收藏  举报