mysql 报错:Lock wait timeout exceeded; try restarting transaction

报错


mysql在debug测试时造成锁表,报:Lock wait timeout exceeded; try restarting transaction

原因

在高并发的情况下,Spring事物造成mysql数据库事务未提交产生死锁,后续操作超时抛出异常。
mysql数据库采用InnoDB模式,默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,一旦数据库锁超过这个时间就会报错。

解决

通过以下语句查询出未提交的事务,然后kill掉事务
select * from information_schema.innodb_trx
kill trx_mysql_thread_id

posted @ 2019-11-26 15:15  fuhaizi  阅读(339)  评论(0)    收藏  举报