删除事件时"Error Code: 1205. Lock wait timeout exceeded; try restarting transaction"



我正试图删除表中的一行

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%左右
  2. 您可以执行:

    设置全局innodb_lock_wait_timeout=5000;

然后这个:

SET innodb_lock_wait_timeout = 5000;
  1. 你能杀死所有与mysql相关的进程并重新启动服务器然后再试一次吗

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

除了我之外,没有人在使用服务器,所以我继续使用kill <process id>逐个杀死所有正在运行的进程,它成功了。

相关内容

最新更新