MySQL数据库show processlist指令使用解析

 更新时间:2019年11月07日 09:35:11   作者:Demrystv  
这篇文章主要介绍了MySQL数据库show processlist指令使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  在实际项目开发中,如果我们对数据库的压力比较大,比如有大批量的查询或者插入等sql,尤其是多线程插入等情况,针对部分执行比较慢的sql,我们可以将其kill掉,常用的一个命令就是show processlist

  1. show processlist是什么

show processlist:通过查看mysql的官网,可以发现,其主要是查询数据库中哪些线程正在执行,针对比较慢的线程(time的数值比较大的线程)我们可以将其kill掉。此外,show full processlist 返回的结果是实时变化的。

  2. show processlist怎么用

  有三种方式可以执行show processlist,可以通过命令行、SQL语句、Navicat客户端等。

  1) 命令行:SHOW FULL PROCESSLIST\G

  执行结果如下:

mysql> SHOW FULL PROCESSLIST\G

*************************** 1. row ***************************
Id: 1
User: system user
Host:
db: NULL
Command: Connect
Time: 1030455
State: Waiting for master to send event
Info: NULL

*************************** 2. row ***************************
Id: 2
User: system user
Host:
db: NULL
Command: Connect
Time: 1004
State: Has read all relay log; waiting for the slave
    I/O thread to update it
Info: NULL

*************************** 3. row ***************************
Id: 3112
User: replikator
Host: artemis:2204
db: NULL
Command: Binlog Dump
Time: 2144
State: Has sent all binlog to slave; waiting for binlog to be updated
Info: NULL

*************************** 4. row ***************************
Id: 3113
User: replikator
Host: iconnect2:45781
db: NULL
Command: Binlog Dump
Time: 2086
State: Has sent all binlog to slave; waiting for binlog to be updated
Info: NULL

*************************** 5. row ***************************
Id: 3123
User: stefan
Host: localhost
db: apollon
Command: Query
Time: 0
State: NULL
Info: SHOW FULL PROCESSLIST
rows in set (0.00 sec)

  2) 可以通过sql语句查询数据库中相关信息的表

  select id, db, user, host, command, time, state, info from information_schema.processlist order by time desc

  3) 可以通过Navicat工具查看,如下图是使用Navicat查询到的截图。

  3. show processlist怎么解读

  下面对于使用该命令查询到的结果进行解读。

  Id:链接mysql 服务器线程的唯一标识,可以通过kill来终止此线程的链接。

  User:当前线程链接数据库的用户

  Host:显示这个语句是从哪个ip 的哪个端口上发出的。可用来追踪出问题语句的用户

  db: 线程链接的数据库,如果没有则为null

  Command: 显示当前连接的执行的命令,一般就是休眠或空闲(sleep),查询(query),连接(connect)

  Time: 线程处在当前状态的时间,单位是秒

  State:显示使用当前连接的sql语句的状态,很重要的列,后续会有所有的状态的描述,请注意,state只是语句执行中的某一个状态,一个 sql语句,已查询为例,可能需要经过copying to tmp table,Sorting result,Sending data等状态才可以完成

  Info: 线程执行的sql语句,如果没有语句执行则为null。这个语句可以使客户端发来的执行语句也可以是内部执行的语句

  4. show processlist结果怎么处理

  在上面的步骤中,我们可以查到每个线程的执行时间等信息,因此针对执行时间比较长的线程,我们可以直接将其kill掉,直接执行 kill Id号即可。

  如果要查时间超过5分钟的,可以拼接并执行以下sql

select concat('kill ', id, ';') from information_schema.processlist where command != 'Sleep' and time > 5*60 order by time desc

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • MySql中表的复合查询实现示例

    MySql中表的复合查询实现示例

    在MySQL中,复合查询是对多张表进行查询的操作,包括多表查询、自连接、子查询等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • MySQL数据库自连接实例讲解

    MySQL数据库自连接实例讲解

    针对相同的表进行的连接被称为"自连接"(self join),下面这篇文章主要给大家介绍了关于MySQL数据库自连接实例讲解的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • MySQL中 LBCC 和 MVCC 的理解及常见问题示例

    MySQL中 LBCC 和 MVCC 的理解及常见问题示例

    这篇文章主要介绍了MySQL中LBCC和MVCC的理解及常见问题示例,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的朋友可以参考一下
    2022-09-09
  • SQL创建视图的注意事项及说明

    SQL创建视图的注意事项及说明

    这篇文章主要介绍了SQL创建视图的注意事项及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Mysql如何查看表的索引

    Mysql如何查看表的索引

    这篇文章主要介绍了Mysql如何查看表的索引问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 解决Windows安装mysql时提示MSVCR120.DLL动态库缺失问题

    解决Windows安装mysql时提示MSVCR120.DLL动态库缺失问题

    在Windows Server 2012系统上安装MySQL 5.7时遇到“由于找不到MSVCR120.dll,无法继续执行代码”的错误,原因是系统缺少部分配置文件,解决方法是下载并安装vcredist文件
    2025-02-02
  • 集群rpm安装MySQL步骤详解

    集群rpm安装MySQL步骤详解

    在本篇文章里小编给大家整理的是一篇关于集群rpm安装MySQL步骤内容,需要的朋友们可以参考学习下。
    2020-01-01
  • mysql如何将多行数据合并成一行

    mysql如何将多行数据合并成一行

    这篇文章主要介绍了mysql将多行数据合并成一行的方法,需要的朋友可以参考下
    2014-08-08
  • Mysql脏页flush及收缩表空间原理解析

    Mysql脏页flush及收缩表空间原理解析

    这篇文章主要介绍了Mysql脏页flush及收缩表空间原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • windows10安装mysql5.7.17教程

    windows10安装mysql5.7.17教程

    windows10安装mysql5.7.17是这样安装的吗?这篇文章主要为大家详细介绍了win10下mysql5.7.17安装配置方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01

最新评论