我遇到问题,由于某些疑问,MySql数据库挂起。
如何找到进程列表,并处理MySql的id并将其杀死?
答案 0 :(得分:62)
我在这里找到解决方案。
show full processlist;
KILL <pid>;
有时这不足以手动杀死每个进程。所以,为此,我们要采取某种方法。在这里,我采用了这个技巧:
Select concat('KILL ',id,';') from information_schema.processlist where user='user';
|
符号并再次粘贴到查询控制台中。 HIT ENTER。 BooM已完成。答案 1 :(得分:9)
select GROUP_CONCAT(stat SEPARATOR ' ') from (select concat('KILL ',id,';') as stat from information_schema.processlist) as stats;
然后将结果复制并粘贴回终端。 像这样:
KILL 2871; KILL 2879; KILL 2874; KILL 2872; KILL 2866;
答案 2 :(得分:3)
您可以执行以下操作来检查是否有任何mysql
进程正在运行:
ps aux | grep mysqld
ps aux | grep mysql
然后,如果它正在运行,您可以使用killall
(取决于当前正在运行的所有进程):
killall -9 mysql
killall -9 mysqld
killall -9 mysqld_safe
答案 3 :(得分:0)
对于 MYSQL 8.xx 你可以使用 mysqladmin shutdown。不确定这是否适用于旧版本。
root 密码为 SomePass 的示例
mysqladmin -u root -pSomePass shutdown
您还应该在 /var/log/mysql/error.log 中看到关闭