首页  >  文章  >  数据库  >  如何修复MySQL表“卡住”的“超出锁定等待超时;尝试重新启动事务”?

如何修复MySQL表“卡住”的“超出锁定等待超时;尝试重新启动事务”?

Barbara Streisand
Barbara Streisand原创
2024-11-16 08:04:03691浏览

How to Fix

修复“卡住”MySQL 表的“超出锁定等待超时;尝试重新启动事务”

MySQL 表可能会“卡住”由于各种原因,例如长时间运行的查询或未提交的事务。与此相关的一个常见错误消息是“超出锁定等待超时;尝试重新启动事务。”

在没有正确的 WHERE 子句的情况下执行查询时可能会出现此问题,从而导致对所有列的同一列重复更新表中的行。此外,频繁的索引更新可能会加剧问题。

要解决此问题并解冻表,有必要识别并终止卡住的事务。可以采取以下步骤:

  1. 检查正在运行的线程:

使用 SHOW PROCESSLIST;命令列出 MySQL 命令行界面或 phpMyAdmin 中所有正在运行的线程。识别任何执行时间非常长的线程。

  1. 杀死卡住的线程:

对于执行时间过长的线程,请使用 KILL 命令,然后使用对应的线程ID。这将终止该线程的连接。在 phpMyAdmin 中,有一个方便的“终止”按钮可用于此目的。

  1. 示例:

要终止线程 115在命令行中,输入以下内容:

KILL 115;

这将终止卡住的交易并解锁表,允许恢复正常操作。

以上是如何修复MySQL表“卡住”的“超出锁定等待超时;尝试重新启动事务”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn