关于Lock wait timeout exceeded; try restarting transaction

转载 2015年07月09日 13:37:08

转自:关于Lock wait timeout exceeded; try restarting transaction

在mysql的gameshop数据库上操作删除语句,数据库一直在执行,响应完后,报Lock wait timeout exceeded;try restarting transaction; 执行delete语句删除失败。

有会话执行过DML操作,然后没commit提交,再执行删除操作,就锁了。

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

2、你的事务在等待给某个表加锁时超时了,估计是表正被另的进程锁住一直没有释放。可以用 SHOW INNODB STATUS/G; 看一下锁的情况。

3、搜索解决 之道,在管理 节点的[ndbd default]区加:TransactionDeadLockDetectionTimeOut=10000(设置 为10秒)默认是1200(1.2秒)

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

引用
InnoDB automatically detects transaction deadlocks and rolls back a transaction or transactions to break the deadlock. InnoDB tries to pick small transactions to roll back, where the size of a transaction is determined by the number of rows inserted, updated, or deleted.

如果参数innodb_table_locks=1并且autocommit=0时,InnoDB会留意表的死锁,和MySQL层面的行级锁。另外,InnoDB不会检测MySQL的Lock Tables命令和其他存储引擎死锁。
你应该设置innodb_lock_wait_timeout来解决这种情况。
innodb_lock_wait_timeout是Innodb放弃行级锁的超时时间。

其实重启下就好了,要知道错在哪儿。

相关文章推荐

mysql因为锁等待导致导入用户失败(Lock wait timeout exceeded; try restarting transaction)

Lock wait timeout exceeded; try restarting transaction 错误信息: 2012-06-20 10:49:10,310 WARN [org.h...

Lock wait timeout exceeded; try restarting transaction

Lock wait timeout exceeded; try restarting transaction

MySQL数据库事务锁等待:Lock wait timeout exceeded; try restarting transaction

当在操作mysql数据库的表数据时,发现更新某表的xx字段时,系统老是提示“Lock wait timeout exceeded; try restarting transaction”错误。一般情况...

MYSQL:Lock wait timeout exceeded; try restarting transaction ;ERROR 1205

今天在编码时遇到了MYSQL的一个错误提示::Lock wait timeout exceeded; try restarting transaction(大概的意思是:超过锁定等待超时; 尝试重新启...

ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

前言:朋友咨询我说执行简单的update语句失效,症状如下: mysql> update order_info  set province_id=15  ,city_id= 1667  where ...

ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

要下班了,开发人员过来跟我说,为什么他截断一个表,才163条记录。但是需要等待很长时间。 当时?想 应该是有等待事件,那就等着呗。于是我自己再Navicat 上操作他反应的那张表,结果出现下面的提示...

ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

mysql> update order_info set province_id=15 ,city_id= 1667 where order_from=10 and order_out_sn='140...

关于MYSQL ERROR 1205 :Lock wait timeout exceeded; try restarting transaction

在mysql的数据库上操作增删改查语句,数据库一直在执行,响应完后,报Lock wait timeout exceeded;try restarting transaction; 执行delete语句...

1205 Lock wait timeout exceeded try restarting transaction

早上执行语句: update report_user_info set cell = replace(cell,'"','') where id 就报了标题上面的错误。 然后我去...

lock wait timeout exceeded; try restarting transactio解决方案

问题原因:        今天线上环境,突然出现一个问题,追踪原因是数据库中的一条语句报错,错误内容: lock wait timeout exceeded; try restarting tra...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Lock wait timeout exceeded; try restarting transaction
举报原因:
原因补充:

(最多只允许输入30个字)