Home > Database > Mysql Tutorial > mysql error:Lock wait timeout exceeded解决_MySQL

mysql error:Lock wait timeout exceeded解决_MySQL

WBOY
Release: 2016-06-01 13:33:03
Original
1056 people have browsed it

bitsCN.com

mysql error:Lock wait timeout exceeded

 

1、锁等待超时。是当前事务在等待其它事务释放锁资源造成的。可以找出锁资源竞争的表和语句,优化你的SQL,创建索引等,如果还是不行,可以适当减少并发线程数。 

 

2、你的事务在等待给某个表加锁时超时了,估计是表正被另的进程锁住一直没有释放。

 

可以用 SHOW INNODB STATUS/G; 看一下锁的情况。 

 

3、搜索解决之道 

 

在管理 节点的[ndbd default] 

区加: 

TransactionDeadLockDetectionTimeOut=10000(设置 为10秒)默认是1200(1.2秒) 

 

4、InnoDB会自动的检测死锁进行回滚,或者终止死锁的情况。

 

如果参数innodb_table_locks=1并且autocommit=0时,InnoDB会留意表的死锁,和MySQL层面的行级锁。另 外,InnoDB不会检测MySQL的Lock Tables命令和其他存储引擎死锁。 

你应该设置innodb_lock_wait_timeout来解决这种情况。 

innodb_lock_wait_timeout是Innodb放弃行级锁的超时时间。

bitsCN.com
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template