mysql - mySQL 在一个表上失去连接,在任何其他表上都没有
问题描述
我有一个包含多个表的 MySQL 数据库。当我在其中一个表上运行一个简单的 SELECT 命令时,它会给出“丢失连接”错误,但是当我在任何其他表上运行相同的命令时,它工作得很好。有谁知道这个问题可能是什么原因?我正在从 MySQL Workbench 运行命令。
解决方案
很可能有某种事务正在运行。无论您是通过 sql 命令(即 START TRANSACTION)启动事务还是其他查询(可能来自 GUI)启动事务(如添加列时的 ALTER TABLE 命令)并且事务从未完成。
运行命令
SHOW FULL PROCESSLIST;
查找为您的用户运行的所有进程的 ID
然后,您可以通过运行命令终止进程
KILL <PROCESS ID> (i.e. KILL 40196;)
当您找到并停止包含从未完成的事务的进程时,您可能能够再次查询该表。您的表将再次可查询,您可以进一步研究解决事务启动但从未完成的问题。
推荐阅读
- javascript - 如何使用 Ajax 的 PUT 请求来更改变量的值?
- scala - 如何在Scala中快速编写“过滤满足给定函数的第一个/最后n个元素”?
- docker - phpMyAdmin 没有连接到 MariaDB 并且 MariaDB 没有在 docker compose 上设置默认的 MYSQL_ROOT_PASSWORD 变量
- swift - Swift如何手动设置photoLibrary和相机授权?
- javascript - react-native-firebase/messaging 的 sendMessage() 在 6.2.0 版本中不起作用
- powerpoint - 是否有一个 openTBS 命令来编写/更新 pptx 幻灯片的注释部分?
- java - 无法以编程方式隐藏弧形菜单中的 fab 按钮。尝试上传.hide(); 无法弄清楚如何隐藏fab按钮
- sql - 用于计算总数的 SQL 查询
- tensorflow2.0 - 加载 tensorflow2.0 模型时出现错误
- scala - Apache Spark 中窗口函数中的过滤器和条件