修复“卡住”MySQL 表的“超出锁定等待超时;尝试重新启动事务”
MySQL 表可能会“卡住”由于各种原因,例如长时间运行的查询或未提交的事务。与此相关的一个常见错误消息是“超出锁定等待超时;尝试重新启动事务。”
在没有正确的 WHERE 子句的情况下执行查询时可能会出现此问题,从而导致对所有列的同一列重复更新表中的行。此外,频繁的索引更新可能会加剧问题。
要解决此问题并解冻表,有必要识别并终止卡住的事务。可以采取以下步骤:
使用 SHOW PROCESSLIST;命令列出 MySQL 命令行界面或 phpMyAdmin 中所有正在运行的线程。识别任何执行时间非常长的线程。
对于执行时间过长的线程,请使用 KILL 命令,然后使用对应的线程ID。这将终止该线程的连接。在 phpMyAdmin 中,有一个方便的“终止”按钮可用于此目的。
要终止线程 115在命令行中,输入以下内容:
KILL 115;
这将终止卡住的交易并解锁表,允许恢复正常操作。
以上是如何修复MySQL表“卡住”的“超出锁定等待超时;尝试重新启动事务”?的详细内容。更多信息请关注PHP中文网其他相关文章!