首页 > 解决方案 > mySQL 在一个表上失去连接,在任何其他表上都没有

问题描述

我有一个包含多个表的 MySQL 数据库。当我在其中一个表上运行一个简单的 SELECT 命令时,它会给出“丢失连接”错误,但是当我在任何其他表上运行相同的命令时,它工作得很好。有谁知道这个问题可能是什么原因?我正在从 MySQL Workbench 运行命令。

在此处输入图像描述

标签: mysqlsql

解决方案


很可能有某种事务正在运行。无论您是通过 sql 命令(即 START TRANSACTION)启动事务还是其他查询(可能来自 GUI)启动事务(如添加列时的 ALTER TABLE 命令)并且事务从未完成。

运行命令

SHOW FULL PROCESSLIST;

查找为您的用户运行的所有进程的 ID

然后,您可以通过运行命令终止进程

KILL <PROCESS ID> (i.e. KILL 40196;)

当您找到并停止包含从未完成的事务的进程时,您可能能够再次查询该表。您的表将再次可查询,您可以进一步研究解决事务启动但从未完成的问题。


推荐阅读