18

是否可以取消mysql查询?

我有一个问题,我提交了一个由于错误而非常耗时的查询。现在我无法进行新查询,因为服务器正在工作并且正在工作......

或者有没有办法停止数据库或表中的所有查询。

为了您的信息,我正在使用 phpMyAdmin (MySql)。

4

6 回答 6

27

在 phpMyAdmin 中,转到主页 > 状态;您将看到一个 MySQL 进程列表,并且每个进程都有一个 Kill 链接。

于 2013-09-19T12:31:29.317 回答
15

可能您的 phpMyAdmin 会卡住显示“正在搜索”消息。您可以做的是打开另一个选项卡/使用控制台打开 MySQL 会话并执行以下操作:

查找所有正在运行的进程:

SHOW PROCESSLIST;

KILL然后使用以下命令杀死该特定线程:

KILL <thread_id>;

资源:

于 2014-11-12T09:42:43.470 回答
4

您可以使用以下KILL语句:http ://dev.mysql.com/doc/refman/5.0/en/kill.html

于 2013-09-19T11:35:29.863 回答
3

有时,即使在新选项卡上也无法访问 phpmyadmin。

如果您可以通过命令行访问环境,

1)登录mysql mysql -u yourusername -p

2)SHOW PROCESSLIST;

3)KILL <thread_id>;

于 2017-04-12T17:48:55.703 回答
1

这可能会帮助您:

在 Mysql 论坛发帖

这将教您在将查询放入页面之前对其进行测试。解释计划是你的朋友。

于 2013-09-19T11:36:47.823 回答
0

有时,如果数据库服务器由于查询过长而没有响应,并且:

  • phpMyAdmin卡住显示“正在加载...”消息...
  • 无法使用适当的权限登录 MySQL 服务器,或者如果是这样,但SHOW PROCESSLISTCLI 中的命令不是很有用,因为例如启动的进程数量过多......

然后,最快的选择可能是重新启动服务器,这会停止数据库中的所有查询

service mysql restart

或者

sudo /etc/init.d/mysql restart

这不是最安全的选择,因为在某些情况下,被中断的查询可能会导致数据库中的数据不一致……但有时它可能是最好的解决方案

于 2019-04-25T20:50:16.567 回答