取消mysql查询

时间:2013-09-19 11:33:46

标签: mysql phpmyadmin

是否可以取消mysql查询?

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

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

我将使用phpMyAdmin(MySql)来获取您的信息。

6 个答案:

答案 0 :(得分:22)

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

答案 1 :(得分:12)

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

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

SHOW PROCESSLIST;

然后使用KILL命令终止该特定线程:

KILL <thread_id>;

资源:

答案 2 :(得分:4)

答案 3 :(得分:3)

有时,即使在新标签页上也无法访问phpmyadmin。

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

1)登录mysql mysql -u yourusername -p

2)SHOW PROCESSLIST;

3)KILL <thread_id>;

答案 4 :(得分:1)

这可能会对您有所帮助:

Post in Mysql Forum

这将教会您在将查询扔进页面之前测试您的查询。 EXPLAIN PLAN是你的朋友。

答案 5 :(得分:0)

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

  • phpMyAdmin 停留在显示“正在加载...”消息 ...
  • 无法以适当的权限登录到MySQL服务器,或者如果是,但是CLI中的SHOW PROCESSLIST命令不是很有用,因为例如大量的启动过程...

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

service mysql restart

sudo /etc/init.d/mysql restart

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