是否可以取消mysql查询?
我有一个问题,我提交了一个由于错误而非常耗时的查询。现在我无法进行新查询,因为服务器正在工作并且正在工作......
或者有没有办法停止数据库或表中的所有查询。
为了您的信息,我正在使用 phpMyAdmin (MySql)。
是否可以取消mysql查询?
我有一个问题,我提交了一个由于错误而非常耗时的查询。现在我无法进行新查询,因为服务器正在工作并且正在工作......
或者有没有办法停止数据库或表中的所有查询。
为了您的信息,我正在使用 phpMyAdmin (MySql)。
在 phpMyAdmin 中,转到主页 > 状态;您将看到一个 MySQL 进程列表,并且每个进程都有一个 Kill 链接。
可能您的 phpMyAdmin 会卡住显示“正在搜索”消息。您可以做的是打开另一个选项卡/使用控制台打开 MySQL 会话并执行以下操作:
查找所有正在运行的进程:
SHOW PROCESSLIST;
KILL
然后使用以下命令杀死该特定线程:
KILL <thread_id>;
资源:
您可以使用以下KILL
语句:http ://dev.mysql.com/doc/refman/5.0/en/kill.html
有时,即使在新选项卡上也无法访问 phpmyadmin。
如果您可以通过命令行访问环境,
1)登录mysql
mysql -u yourusername -p
2)SHOW PROCESSLIST;
3)KILL <thread_id>;
有时,如果数据库服务器由于查询过长而没有响应,并且:
SHOW PROCESSLIST
CLI 中的命令不是很有用,因为例如启动的进程数量过多......然后,最快的选择可能是重新启动服务器,这会停止数据库中的所有查询:
service mysql restart
或者
sudo /etc/init.d/mysql restart
这不是最安全的选择,因为在某些情况下,被中断的查询可能会导致数据库中的数据不一致……但有时它可能是最好的解决方案。