SHOW PROCESSLIST语句(收到“太多的连接” 这种错误消息,可以使用该语句了解数据库中正在发生什么)

SHOW [FULL] PROCESSLIST

MySQL进程列表指示服务器内正在执行的一组线程当前正在执行的操作。该 SHOW PROCESSLIST声明是过程信息的一种来源。有关此声明与其他来源的比较,请参见 过程信息来源。

如果您具有PROCESS 特权,则可以看到所有线程,甚至包括那些属于其他用户的线程。否则(没有 PROCESS特权),非匿名用户有权访问有关其自己线程的信息,而其他用户则不能访问线程,并且匿名用户无权访问线程信息。

如果没有FULL关键字,则 SHOW PROCESSLIST仅显示该Info字段中每个语句的前100个字符 。

SHOW PROCESSLIST如果您收到“太多的连接” 错误消息并想了解发生了什么, 该语句将非常有用。MySQL保留了一个额外的连接,供拥有SUPER特权的帐户使用,以确保管理员应始终能够连接并检查系统(假设您没有将此特权授予所有用户)。

可以使用该KILL语句杀死线程 。请参见 第13.7.6.4节“ KILL语句”。

SHOW PROCESSLIST 输出 示例:

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

SHOW PROCESSLIST 输出包含以下列:

Id

连接标识符。此值ID与INFORMATION_SCHEMA PROCESSLIST表的列中 显示的PROCESSLIST_ID值,性能模式threads 表的列中显示的值相同,并由CONNECTION_ID()线程中的函数返回 。

User

发出该语句的MySQL用户。值表示 system user服务器派生的非客户端线程以内部处理任务,例如,延迟行处理程序线程或副本主机上使用的I / O或SQL线程。对于system user,在该Host列中未指定主机 。unauthenticated user是指已与客户端连接关联但尚未对其进行客户端用户身份验证的线程。 event_scheduler是指监视计划的事件的线程(请参见 第23.4节“使用事件计划程序”)。

Host

发出该语句的客户端的主机名(除了system user,没有主机)。TCP / IP连接的主机名以 格式报告, 以便更轻松地确定哪个客户端在做什么。 host_name:client_port

db

线程的默认数据库,或者NULL如果未选择任何数据库 。

Command

线程代表客户端执行的命令类型,或者Sleep会话处于空闲状态。有关线程命令的描述,请参见 第8.14节“检查服务器线程(进程)信息”。该列的值对应于 客户机/服务器协议的 命令和 状态变量。请参见第5.1.9节“服务器状态变量”。 COM_xxxCom_xxx

Time

线程处于其当前状态的时间(以秒为单位)。对于副本SQL线程,该值是最后一个复制事件的时间戳与副本主机的实时之间的秒数。请参见 第16.2.3节“复制线程”。

State

指示线程正在执行的操作,事件或状态。有关State值的描述,请参见第8.14节“检查服务器线程(进程)信息”。

大多数状态对应于非常快速的操作。如果线程在给定状态下停留了几秒钟,则可能存在需要调查的问题。

Info

线程正在执行的语句,或者NULL如果线程 不执行任何语句。该语句可能是发送到服务器的那条语句,或者是最内部的语句(如果该语句执行其他语句)。例如,如果一条CALL 语句执行了正在执行一条SELECT语句的存储过程,则 该 Info值将显示该 SELECT语句。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值