show full processlist 用来查看当前线程处理情况,具体信息请参考官网:https://dev.mysql.com/doc/refman/5.7/en/show-processlist.html
show full processlist 返回的结果是实时变化的,是对mysql链接执行的现场快照,所以用来处理突发事件非常有用。如果没有FULL
关键字, 则show processlist中的Info字段仅显示每个语句的前 100 个字符 。
1.show full processlist
show full processlist对应查询的表为information_schema.processlist
select * from information_schema.processlist order by time desc ; select * from information_schema.processlist where command!='sleep' order by time desc ;
详情介绍:
- Id:链接mysql 服务器线程的唯一标识,可以通过kill来终止此线程的链接。
- User:当前线程链接数据库的用户
system user
指由服务器产生的非客户端线程来处理内部任务,例如,延迟行处理程序线程或副本主机上使用的 I/O 或 SQL 线程。对于system user
,列中没有指定主机Host
。unauthenticated user
指的是已与客户端连接相关联但尚未对客户端用户进行身份验证的线程。 解决方法参考:https://www.cnblogs.com/mianbaoshu/p/15722267.htmlevent_scheduler
指的是监视计划事件的线程
- Host:显示这个语句是从哪个ip 的哪个端口上发出的。可用来追踪出问题语句的用户
- db: 线程链接的数据库,如果没有则为null
- Command: 显示当前连接的执行命令,一般就是休眠或空闲(sleep),查询(query),连接(connect)
- Time: 线程处在当前状态的时间,单位是秒
- State:显示使用当前连接的sql语句的状态,很重要的列,后续会有所有的状态的描述,请注意,state只是语句执行中的某一个状态,一个 sql语句,已查询为例,可能需要经过copying to tmp table,Sorting result,Sending data等状态才可以完成
- Info: 线程执行的sql语句,如果没有语句执行则为null。这个语句可以使客户端发来的执行语句也可以是内部执行的语句
2.kill 进程
标签:语句,full,show,线程,mysql,processlist From: https://www.cnblogs.com/mianbaoshu/p/17025163.html