【问题标题】:How to find MySQL process list and to kill those processes?如何找到 MySQL 进程列表并杀死这些进程?
【发布时间】:2017-10-26 19:22:20
【问题描述】:

由于某些查询,MySQL 数据库挂起。

我怎样才能找到进程并杀死它们?

【问题讨论】:

    标签: mysql kill-process


    【解决方案1】:

    解决办法如下:

    1. 登录数据库;
    2. 运行命令show full processlist;以获取进程ID和状态并查询导致数据库挂起的自身;
    3. 选择进程 ID 并运行命令 KILL <pid>; 以终止该进程。

    有时手动杀死每个进程是不够的。因此,为此我们必须使用一些技巧:

    1. 登录 MySQL;
    2. 运行查询Select concat('KILL ',id,';') from information_schema.processlist where user='user'; 以使用KILL 命令打印所有进程;
    3. 复制查询结果,粘贴并删除管道| 符号,再次复制并粘贴到查询控制台中。 按回车键。 Boom 完成了

    【讨论】:

    • 这个查询很棒!对于任何有少量 MySQL 经验的人,您还可以通过 HostdbCommandTimeStateInfo 提交查询:SELECT concat('KILL ',id,';') from information_schema.processlist where Command='Sleep';SELECT concat('KILL ',id,';') from information_schema.processlist where Time>'300';跨度>
    • 感谢您的询问!我使用了一个可以节省一些手动编辑时间的增强版本:select group_concat(concat('KILL ',id,';') separator ' '),所以它们都放在可以复制粘贴的一行
    • 查询没问题,但你最终可能会杀死自己的进程。在重新运行“全部杀死”之前,我会查看进程 ID 列表。
    • 调整@architectonic 的评论,让我立即更容易处理剪贴板(即使有讨厌的打开和关闭双引号)SELECT group_concat(concat('KILL ',id,';') SEPARATOR ' \n') AS KILL_EVERYTHING FROM information_schema.processlist;
    【解决方案2】:
    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;
    

    【讨论】:

      【解决方案3】:

      您可以执行以下操作来检查是否有任何mysql 进程正在运行:

      ps aux | grep mysqld
      ps aux | grep mysql
      

      如果它正在运行,你可以使用killall(取决于当前所有进程正在运行):

      killall -9 mysql
      killall -9 mysqld
      killall -9 mysqld_safe    
      

      【讨论】:

      • OP 正在询问 MySQL 服务器中运行的进程。
      • 虽然不是所要求的,但它有所帮助,因为这是 google 在搜索如何杀死 linux 上的所有 mysqld 进程时返回的第一项;)
      【解决方案4】:

      对于 MYSQL 8.xx 你可以只使用 mysqladmin 关闭。不确定这是否适用于旧版本。

      root 密码为 SomePass 的示例

      mysqladmin -u root -pSomePass shutdown

      您还应该在 /var/log/mysql/error.log 中看到关闭

      【讨论】:

        猜你喜欢
        • 2019-01-07
        • 1970-01-01
        • 2018-02-14
        • 1970-01-01
        • 1970-01-01
        • 2011-09-09
        • 1970-01-01
        • 1970-01-01
        • 2010-12-08
        相关资源
        最近更新 更多