Lock wait timeout exceeded; try restarting transaction

本文记录了一次处理MySQL数据库中Lockwaittimeoutexceeded异常的过程。通过排查,定位到被锁住的SQL语句,并提供了释放锁的具体操作步骤。同时,介绍了如何调整my.cnf配置文件中的innodb_lock_wait_timeout参数,以避免类似问题再次发生。
摘要由CSDN通过智能技术生成

今日收到异常提报,一个报表数据未跑出来。排查发现:一个排程运行失败,报错Lock wait timeout exceeded; try restarting transaction,

因报表数据使用的数据库是mysql,经过网络资源search和同事帮忙解决。

排查思路:

      找到被lock住的语句,然后释放锁。 

用到的语句如下:

use information_schema;

desc  innodb_trx;

 select * from inforamtion_schema.innodb_trx where trx_state='LOCK_WAIT';   --查出当前被锁的sql语句事务

kill trx_id -- kill   当前执行的线程序号;

 

select * from information_schema.processlist where id =''  --id为trx

 

 

 

 

解决办法:

  1. 找到my.cnf的位置
  2. 添加参数 innodb_lock_wait_timeout=100(默认是50,单位s)
  3. 重启mysql服务;

 

感谢分享:

https://blog.csdn.net/java__project/article/details/100137526

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值