有个同事反馈说,服务器接口返回数据特慢,但是过一会就好了,于是我用top命令,看到服务器的cpu都被mysql占住了。
我第一反应是锁表了,于是赶快去看看了。
执行命令:mysql-uroot-p
输入密码,进入后执行showfullprocesslist;
于是就看到了锁表的sql,先复制给相关责任人,然后果断地结束掉进程。执行命令:killID
processlist下面看一下showfullprocesslist;显示信息的意义,有注意我们判断
mysqlshowprocesslist;+—-+——+———–+——+———+——+——-+——————+
Id
User
Host
db
Command
Time
State
Info
+—-+——+———–+——+———+——+——-+——————+
1
root
localhost
NULL
Query
0
init
showprocesslist
+—-+——+———–+——+———+——+——-+——————+1rowinset(0.00sec)先简单说一下各列的含义和用途:
id一个标识,你要kill一个语句的时候很有用。
user显示当前用户,如果不是root,这个命令就只显示你权限范围内的sql句。
host显示这个语句是从哪个ip哪个端口上发出的。可以用来追踪出问题语句的用户。
db显示这个进程目前连接的是哪个数据库。