MySQL出现错误1205-Lock wait timeout exceeded; try restarting transaction

Posted a155-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL出现错误1205-Lock wait timeout exceeded; try restarting transaction相关的知识,希望对你有一定的参考价值。

转:https://blog.csdn.net/u012248802/article/details/77866019

今天在清空mysql数据库中的表格数据时,报了如下错误,导致操作失败:

 

 

 

上网查找了一下,了解到了该类问题出现的主要原因是:Mysql的 InnoDB存储引擎是支持事务的,事务开启后没有被主动Commit,导致该资源被长期占用,其他事务在抢占该资源时,因上一个事务的锁而导致抢占失败!因此出现 Lock wait timeout exceeded。

 

解决办法:
    方法一:
         1. 查看事物表,找出被锁线程的id:SELECT * FROM information_schema.INNODB_TRX;

 

         2. 根据id,kill掉被锁住的线程:kill 65


    方法二:
         1. 执行MySQL命令:SHOW FULL PROCESSLIST; 找到被锁住的线程ID(如下图中的65)

 

         2. 根据id,kill掉被锁住的线程:kill 64
————————————————
版权声明:本文为CSDN博主「这样可以了吧」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012248802/article/details/77866019

以上是关于MySQL出现错误1205-Lock wait timeout exceeded; try restarting transaction的主要内容,如果未能解决你的问题,请参考以下文章

Mysql错误: ERROR 1205: Lock wait timeout exceeded解决办法

Mysql错误: ERROR 1205: Lock wait timeout exceeded; try restarting transaction

mysql执行insert等语句报1205 Lock wait timeout exceeded try restarting transaction

记一次 MySQL出现“Lock wait timeout”错误的原因

Mysql连接错误:Lost connection to Mysql server at 'waiting for initial communication packet'(示例代码

ActiveRecord::StatementInvalid: Mysql2::Error: Lock wait timeout exceeded