mysql错误:Lock wait timeout exceeded的解决方法

发布时间:2020-09-06编辑:脚本学堂
有关mysql错误:Lock wait timeout exceeded的解决方法,有遇到这个问题的朋友参考下。

mysql/ target=_blank class=infotextkey>mysql数据库中用了innodb引擎,更新几个表,几个表的数据加起来是1亿左右,开了很多个查询分别更新,然后报错:
Lock wait timeout exceeded; try restarting transaction

原因:mysql的innodb是独占锁。

解决方法:

第一:innodb_lock_wait_timeout 锁定等待时间改大

my.ini文件:
#innodb_lock_wait_timeout = 50

修改为:
innodb_lock_wait_timeout = 500

第二:把多个查询合并为一个查询执行,可以避免等待解锁时间。
前面一个查询执行完毕后后面一个查询获得独占锁并执行。