解锁“卡住”的 MySQL 表:解决“Lock Wait Timeout Exceeded”问题
当遇到“Lock wait timeout Exceeded; try restarted”时在 MySQL 中使用 InnoDB 表时出现“事务”错误,很可能事务已被卡住。以下是修复表并解决卡住事务的方法:
1。识别卡住的事务:
在 MySQL 命令行界面或通过 phpMyAdmin 运行以下命令:
SHOW PROCESSLIST;
这将显示正在运行的列表线程。查找执行时间较长或处于“睡眠”状态的线程。相应的线程ID将显示在“Id”栏中。
2.终止卡住的线程:
一旦识别出卡住的线程,请在命令行界面中使用以下命令终止它:
KILL;
将
3.重新启动事务(可选):
如果事务仍然处于活动状态,请重新启动它以释放它可能持有的任何锁定。您可以通过运行以下命令来完成此操作:
START TRANSACTION; COMMIT;
4。删除索引(如果适用):
如果您之前尝试删除受影响表上的索引,但由于锁定而失败,请在终止卡住的线程并重新启动事务后再次尝试删除它.
ALTER TABLEDROP INDEX ;
通过执行以下步骤,您可以解锁卡住的表并解决“超出锁定等待超时”错误。请记住定期检查正在运行的线程,以识别并终止任何潜在的卡住事务,以防止将来出现类似问题。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3