开发者社区> 问答> 正文

java代码报错Lock wait timeout exceeded;

Lock wait timeout exceeded; try restarting transaction

展开
收起
Dynastys 2021-10-21 09:38:57 1011 0
2 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。

    您好,这是数据库返回的提示,使用InnoDB表类型的时候,锁等待超过了innodb_lock_wait_timeout(默认是50s)设置的时间,所以报错,比如在同一事务内先后对同一条数据进行插入和更新操作、多台服务器操作同一数据库、瞬时出现高并发现象,spring事务造成数据库死锁,后续操作超时抛出异常、事务A对记录C进行更新/删除操作的请求未commit时,事务B也对记录C进行更新/删除操作这些情况都会导致。

    2021-10-21 09:42:04
    赞同 1 展开评论 打赏
  • select * from information_schema.INNODB_TRX (information_schema这张数据表保存了MySQL服务器所有数据库的信息) 找到对应死锁的任务,然后kill掉,就会干掉这个死锁,

    2021-10-21 09:41:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载