`

Lock wait timeout exceeded; try restarting transaction一些信息

 
阅读更多
引用自
http://blog.csdn.net/beenin/article/details/5709795

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放弃行级锁的超时时间。 

分享到:
评论

相关推荐

    解决SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded_runtimeerror怎么修复

    在MySQL数据库操作中,"SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded" 是一个常见的错误,它意味着在执行事务时,系统等待锁定资源的时间超过了预设的限制。这个错误通常发生在并发环境中,当...

    KFC系列之 - Oracle DBA入门Mysql(中)

    - **innodb_lock_wait_timeout**:设置在等待锁时的超时时间,单位为秒。如果超过了这个时间还没有获取到锁,那么会抛出错误并提示用户重启事务。 ##### 3. 锁相关字典表查询和命令 MySQL提供了几个系统视图来查看...

    python pymysql 无法登陆修改 plugin 脚本

    报错pymysql.err.InternalError: (1698, "Access denied for user 'root'@'localhost'")或pymysql.err.InternalError: (1045, "Access denied for user 'root'@'localhost'"),详细报错信息见文章...

    Docker 客户端在尝试访问 Docker Hub 的 API 时超时解决方案

    error response from daemon: get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (client.timeout exceeded while awaiting headers)

    Java常见异常集-Java,Hibernate,Tomcat异常

    12. **Lock wait timeout exceeded try restarting transaction**:在MySQL中,如果事务等待锁的时间超过设定的超时时间,会出现此错误。分析事务逻辑,优化事务粒度,或者提高锁等待超时时间(innodb_lock_wait_...

    Docker容器端口映射(markdown文档教程).md

    error response from daemon: get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (client.timeout exceeded while awaiting headers)

    openssh升级文档(以ssh8.4为例)

    例如,您可能会遇到“Job for sshd.service failed because a timeout was exceeded”的错误。这通常是由于服务启动超时或者配置问题导致的。解决方法包括检查sshd的状态(`systemctl status sshd.service`)和日志...

    MySQL关于ERROR 1290 (HY000)报错解决方法

    一个问题纠结很久,反复确认语法问题。但是后来网上搜了一下,茅塞顿开。特此总结一下。 mysql> grant select,insert,update,delete on *.* to 'root'@'%'; ERROR 1290 (HY000): The MySQL server is running with ...

    func_timeout:Python模块,允许您在调用任何现有函数时指定超时,并支持可停止线程

    func_timeout Python模块支持以给定的超时时间运行任何现有功能。... Raises any exceptions #func# would raise, returns what #func# would return (unless timeout is exceeded), in which case it raises Functi

    php-fpm超时时间设置request_terminate_timeout资源问题分析

    php日志中有一条超时的日志,但是我request_terminate_timeout中设置的是0,理论上应该没有超时时间才对。 PHP Fatal error: Maximum execution time of 30 seconds exceeded in ... The timeout for serving a single

    error response from daemon get httpsregistry-1.docker.iov2 netht

    error response from daemon: get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (client.timeout exceeded while awaiting headers)error response from daemon ...

    记一次MySQL数据库问题排查

    `Error: ER_LOCK_WAIT_TIMEOUT: Lock wait timeout exceeded; try restarting transaction`表明某个事务在等待其他事务释放锁资源时超过了预设的超时时间。事务是数据库操作的重要组成部分,它确保了数据的一致性和...

    SQL2008中SQL应用之- 死锁(Deadlocking)

    2. **跟踪标志**:使用`DBCC TRACEON`、`DBCC TRACEOFF`和`DBCC TRACESTATUS`命令可以启用、禁用和检查特定的跟踪标志,如跟踪标志1222,它可以记录死锁信息到SQL Server的日志中。 例如,以下是如何使用这些命令:...

    Mysql悲观锁和乐观锁的使用示例

    如果session1长时间不提交,session2将等待锁超时(默认超时时间可通过`innodb_lock_wait_timeout`配置),并抛出错误`(1205, ‘Lock wait timeout exceeded; try restarting transaction`)。通过`show status like ...

    查找MySQL线程中死锁的ID的方法

    当发生死锁时,数据库会检测到这种情况并抛出错误,如错误1205(HY000):“Lock wait timeout exceeded; try restarting transaction”。为了解决这个问题,我们需要找出导致死锁的具体线程并结束它。本文将详细...

Global site tag (gtag.js) - Google Analytics