MySQL-show processlist

Author Avatar
丁起男 01月 20,2021
  • 在其它设备中阅读本文章

MySQL-show processlist

show full processlist;

返回的结果是实时变化的,是对MySQL连接执行的现场快照,所以用来处理突发事件非常有用

执行方式

  1. 直接在命令行查询

    show full processlist;
    
  2. 通过查询连接线程相关的表

    select id,db,`user`,host,command,`time`,state,info from information_schema.processlist where command != 'Sleep' order by time desc;
    
  3. 通过navice中的,工具->服务器监控,进行查看

列含义

  • id:连接MySQL服务器线程的唯一标识,可以通过kill来终止此线程的连接
  • user:当前线程连接数据库的用户
  • host:显示这个语句是从哪个ip的哪个端口上发出的。可用来追踪语句的用户
  • db:线程连接的数据库,如果没有则为null
  • command:显示当前连接的执行的命令,一般就是休眠或空闲(sleep)、查询(query)、连接(connect)
  • time:线程处在当前状态的时间,单位是秒
  • state:显示使用当前连接的sql语句的状态
  • info:线程执行的sql语句,如果没有语句执行则为null