“错误代码:1205。超过锁定等待超时;尝试重新启动事务”删除事件

Posted

技术标签:

【中文标题】“错误代码:1205。超过锁定等待超时;尝试重新启动事务”删除事件【英文标题】:"Error Code: 1205. Lock wait timeout exceeded; try restarting transaction" on delete event 【发布时间】:2016-08-01 12:36:30 【问题描述】:

我正在尝试删除表中的一行

delete from tbllink where linkid=243

但我不断收到该错误消息:

错误代码:1205。超过锁定等待超时;尝试重新启动 交易

正如其他问题中提到的,我尝试运行:

show open tables where in_use>0;

这返回了 0 个结果。我也试过跑步:

show processlist

这返回了这些列:

> 2244  username IP:50487   newdatabasetemp Sleep   1777        
> 2247  username IP:50723   newdatabasetemp Sleep   1346        
> 2249  username IP:50725   newdatabasetemp Sleep   1285

我尝试重新连接到服务器,但结果仍然相同。

【问题讨论】:

【参考方案1】:

需要考虑的几点:

    innodb_buffer_pool_size 应设置为可用 RAM 的 70% 左右。

    你可以执行:

    SET GLOBAL innodb_lock_wait_timeout = 5000;

然后这个:

SET innodb_lock_wait_timeout = 5000;
    能不能把mysql相关的进程全部杀掉,重启服务器再试试?

【讨论】:

【参考方案2】:

当我从表中删除所有记录时,我遇到了同样的错误。

除了我没有人使用服务器,所以我继续使用 kill <process id> 一个一个地杀死所有正在运行的进程并且它起作用了。

【讨论】:

以上是关于“错误代码:1205。超过锁定等待超时;尝试重新启动事务”删除事件的主要内容,如果未能解决你的问题,请参考以下文章