mysql 使用show processlist定位问题

Show processlist;

mysql> show processlist\G
*************************** 1. row ***************************
     Id: 226588
   User: root
   Host: localhost:64271
     db: test
Command: Sleep
   Time: 23032
  State:
   Info: NULL
*************************** 2. row ***************************
     Id: 226589
   User: root
   Host: localhost:64272
     db: test
Command: Sleep
   Time: 23036
  State:
   Info: NULL
*************************** 3. row ***************************
     Id: 232615
   User: root
   Host: localhost:59141
     db: test
Command: Query
   Time: 0
  State: init
   Info: show processlist


host显示连接的发起地,以及发起的端口,可以使用这个信息找到那个进程打开了连接。使用netstat和端口号找到打开连接的进程(需要root权限)
netstat -ntp | grep 64271
tcp        0      0 127.0.0.1:53621         127.0.0.1:3306          ESTABLISHED 26025/java  
进程号和名字位于输出的最后一个字段


一旦知道了这个进行ID,就可以去获得其他信息

netstat -ntp | grep 26025/java
tcp        0      0 127.0.0.1:60437         127.0.0.1:3306          ESTABLISHED 26025/java      
tcp        0      0 127.0.0.1:60446         127.0.0.1:3306          ESTABLISHED 26025/java      
tcp        0      0 127.0.0.1:60451         127.0.0.1:3306          ESTABLISHED 26025/java      
tcp        0      0 127.0.0.1:60447         127.0.0.1:3306          ESTABLISHED 26025/java      
tcp        0      0 127.0.0.1:60439         127.0.0.1:3306          ESTABLISHED 26025/java      
tcp        0      0 127.0.0.1:60441         127.0.0.1:3306          ESTABLISHED 26025/java      
tcp        0      0 127.0.0.1:60443         127.0.0.1:3306          ESTABLISHED 26025/java      
tcp        0      0 127.0.0.1:60453         127.0.0.1:3306          ESTABLISHED 26025/java      

可以看出有多个端口是开启的,并且端口5672连接在连接在另外一台机器上

端口列表通常位于/etc/services

grep 5672 /etc/services
amqp            5672/tcp
amqp            5672/udp
amqp            5672/sctp

显示连接的是rabbitmq

在看看26025进程的消息,使用ps可以了解进程正在做的事情

ps -eaf | grep 'UID\|26025'
UID         PID   PPID  C STIME TTY          TIME CMD
ccmsyst+  26025      1  0 Jan29 ?        00:22:46 /usr/bin/java -Djava.util.logging.config.。。。

这个是tomcat启动的进程。

还可以使用lsof列出进程打开的文件,这对于查找信息很有帮助

lsof -i -P | grep 26025

在linux上/proc文件系统对于解决问题有极大的帮助。每个进程在/proc下都有自己的文件,并且可以看到关于它的大量信息,比如当前的工作目录,内存使用情况等

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页