十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

mysql show processlist状态解释

上一篇 / 下一篇  2011-06-26 22:26:31 / 个人分类:mysql

51Testing软件测试网'j0L Ov``7g

SHOW PROCESSLIST的输出中常见的一些状态:

7h,z|9Y1G7y/K0

\bcx4c!Wz0b*g%g0· Checking table

iYk+k%a9x8\ T/E051Testing软件测试网+~jc0\7D/x2I+y

线程正在执行(自动)表格检查。51Testing软件测试网/I/{/G#rt

51Testing软件测试网e~7S \$k3PK R

· Closing tables51Testing软件测试网:p,}o6o6n^ l?3_9w

ucYaL6Xf{0意味着线程正在刷新更改后的表数据,并正在关闭使用过的表。这应该是一个快速的操作。如果不快,则您应该验证您的磁盘没有充满,并且磁盘没有被超负荷使用。

*C'V Cs*~,i0EEq0

Do%tNn Y0· Connect Out

gN GG/w BeUV051Testing软件测试网y0y {Fw0N1U

连接到主服务器上的从属服务器。51Testing软件测试网1R.[1D0d-G-D;in2OJ} V

51Testing软件测试网zV&O2YXFuj

· Copying to tmp table on disk51Testing软件测试网H?O [V:BnV_

L1xyh8R{(q)O0临时结果集合大于tmp_table_size。线程把临时表从存储器内部格式改变为磁盘模式,以节约存储器。51Testing软件测试网1Z9MP x L

51Testing软件测试网W4j:~#u,i/g

· Creating tmp table

TMO3eE2E0

q?L5Kt0线程正在创建一个临时表,以保持部分结果。

!t0|&qb `oD']P9X.l051Testing软件测试网 Mf ~~@;achK

· deleting from main table

H4|*R(i,X*~k:Ns0

Q!TJj!F }2K0服务器正在执行多表删除的第一部分,只从第一个表中删除。51Testing软件测试网+[ A#IGp;KL)Q'k

51Testing软件测试网0B _"BnYnf+B

· deleting from reference tables

/IU N f}0

)Z6k+HjKu0服务器正在执行多表删除的第二部分,从其它表中删除匹配的行。51Testing软件测试网.~NEyWL/O q3W

51Testing软件测试网N+mVyp

· Flushing tables51Testing软件测试网F MacL%l0[f

51Testing软件测试网+D @2_A)VZa-@;{3]

线程正在执行FLUSH TABLES,并正在等待所有线程,以关闭表。51Testing软件测试网%|vg;|Z,D

51Testing软件测试网Jm8x#LEE3FQ,@ ~

· FULLTEXT initialization51Testing软件测试网@4cps(kK%g"C,co

8Q? TRu:a0服务器正在准备执行一个自然语言全文本搜索。

%na-yu'_7z|1W0

MS;P{q;f6R#?1I0· Killed51Testing软件测试网1L5B&mJ*y,PR2IpN

0l:S%WB"?0有人已经向线程发送了一个KILL命令。在下一次检查终止标记时,应放弃。该标记在MySQL的每个大循环中都检查,但是在有些情况下,线程终止只需要较短的时间。如果该线程被其它线程锁定,则只要其它线程接触锁定,终止操作就会生效。51Testing软件测试网y$W9v8T?3`Dv%Ns

3R"_yL KJ2f;gV0· Locked51Testing软件测试网%HXd0a}|,dzr#u

51Testing软件测试网%Y4?4Xn1b\1sS

该查询被其它查询锁定。

*I$n:?$v-f1{-Q0

E+]|N W kZH c~0· Sending data51Testing软件测试网1CU,N W(O ~}AWfz7~

51Testing软件测试网b K1M&v$_8E+v4W)L;K*A

线程正在为SELECT语句处理行,同时正在向客户端发送数据。

\L'V(h.^"I'gp8{T*d051Testing软件测试网 SqH4X5C4q

· Sorting for group

#{HNc cI"Z051Testing软件测试网(f@a&LE` }

线程正在进行分类,以满足GROUP BY要求。

,ZKF6i.u-[Y0

`&^dO'X!h1T0· Sorting for order

:FR O;b.e2j/eA0

Vv8g;M(K0线程正在进行分类,以满足ORDER BY要求。

0sH.P"u+Ye)p051Testing软件测试网C(w3ttNDqR H

· Opening tables

!?g EZlu$j0

-B4J.T;xn0线程正在试图打开一个表。这应该是非常快的过程,除非打开操作受到阻止。例如,一个ALTER TABLE或一个LOCK TABLE语句可以阻止打开一个表,直到语句完成为止。51Testing软件测试网Qf2G&oA A

I;Kr0fg1U|0· Removing duplicates

nB6S$N'l1J%^0

0a-U X)o2g6t Hsg;pq.h0查询正在使用SELECT DISTINCT。使用时,在早期阶段,MySQL不能优化不同的操作。因此,MySQL要求一个额外的阶段,以便在把结果发送给客户端之前取消所有的复制行。

%t2XE4g K~N051Testing软件测试网6{f6[S:N"W7D+{"P

· Reopen table51Testing软件测试网j*Vg/p3ZzM

/h5g @*r#F)r:w3b6n0线程得到一个表锁定,但是在得到锁定后被通知带下方的表结构已更改了。它已经释放了锁定,关闭了表,并试图重新打开它。

)?k%C;p!EiG!a?3~O051Testing软件测试网RIyY?p _U6~

· Repair by sorting

N9_e;v._5k Z"q051Testing软件测试网K*WwO"K

修复代码正在使用一个分类来创建索引。51Testing软件测试网$kd{ M5S]S%S6mf

U E;_2YWS!a X0· Repair with keycache51Testing软件测试网?]v k"];K[Yoe|

51Testing软件测试网C:FG`%Wi

修复代码正在通过关键缓存一个接一个地使用创建关键字。这比通过分类修复要慢很多。51Testing软件测试网)v Xrx P

51Testing软件测试网j8P]a5R Z0X&u

· Searching rows for update51Testing软件测试网#N4]R*eG Z1_%Rk#\

51Testing软件测试网'CR5L[]

线程正在进行第一阶段,以在更新之前,查找所有匹配的行。如果UPDATE正在更改用于查找相关行的索引,则必须这么做。51Testing软件测试网}r TY&Wa NqZZ J

51Testing软件测试网.pe-`3a5o5J\5[L C?"F

· Sleeping

d"z8OK!H;`051Testing软件测试网8MvY7nW$p3sp%WO"k

线程正在等待客户端,以向它发送一个新语句。51Testing软件测试网+B?!h)?+?5h

!`X-L%D ?$Vv3`0· System lock51Testing软件测试网n aBx |U M

51Testing软件测试网{r kZ0[d

线程正在等待得到一个用于表的外部系统锁定。如果您没有正在使用多个正在访问同一个表的mysqld服务器,则您可以使用--skip-external-locking选项禁用系统锁定。

"a&v z%V%f;v0

,X9F/rH(Kd"p c0· Upgrading lock51Testing软件测试网lf }LhH}

51Testing软件测试网fn*L Si

INSERT DELAYED管理程序正在试图得到一个表锁定,以插入行。51Testing软件测试网i{%_p7d

J|d*sdCsp0· Updating51Testing软件测试网agF4q-rW$P?"v'I

9[Y+gN*^dA^0线程正在搜索行,并正在更新这些行。51Testing软件测试网7H{9A3{ @LfXCw

_1Wy,Bb%o'_#s^]0· User Lock

l;L{:S$bZU051Testing软件测试网0[:]*T"{p] aX

线程正在等待GET_LOCK()。

*T.E7X N8q0g2@o051Testing软件测试网 vW]6i1MG r+[(r

· Waiting for tables51Testing软件测试网:RG6?'Sgw&I v

51Testing软件测试网Y o8Ki*h U2b*|

线程得到一个通知,表的底层结构已经改变,需要重新打开表以得到新的结构。但是,为了能重新打开表,必须等待,直到所有其它的线程已经关闭了正在被质询的表。

8w3M-jG@4a051Testing软件测试网;Qcz/Wev,g#O G9P)N

如果其它线程已经对正在被质询的表使用了FLUSH TABLES或以下语句之一:FLUSH TABLES tbl_name, ALTER TABLE, RENAME TABLE, REPAIR TABLE, ANALYZE TABLE或OPTIMIZE TABLE;则会出现通知。

0\-t8X E5}h/_qh@ ]@051Testing软件测试网:iV/ZJ |hBlt

· waiting for handler insert

:W6a FS TA3P:a051Testing软件测试网4a5y^Mc$G,m

INSERT DELAYED管理程序已经处理了所有处于等待状态的插入,并正在等待新插入。

b$EV N+GQ.P051Testing软件测试网:e#a9V4S4[;k6A$G4t? f?

多数状态对应于非常快的操作。如果一个线程在这些状态下停留了数秒,则可能是有问题,需要进行调查。

] i%Sw&t&J0

y@8{ sRuf+V0有一些其它的状态,在前面的清单中没有提及,但是其中有很多状态对于查找服务器中的程序错误是有用的。51Testing软件测试网;z@-W ZhiQhZhg

51Testing软件测试网 s8d"Wu`/l

从这里可以看到是不是有表锁死了,是不是有些语句执行了很久,甚至可以通过kill id 语句灭了捣乱的连接。51Testing软件测试网 a9{N[7n ol u r


TAG: MySQL mysql

 

评分:0

我来说两句

Open Toolbar