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

mysql show processlist状态解释

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

'I1m0K)Go.|~0SHOW PROCESSLIST的输出中常见的一些状态:

&}(](z0GTfk051Testing软件测试网-J,|`8ZZD.`f

· Checking table

Gn;PUP(v|I k051Testing软件测试网D \*y ].bg J? ]p%M

线程正在执行(自动)表格检查。

hhp$Hzq5y!]051Testing软件测试网v4| R}U%Ys

· Closing tables

1On{O#~&Np Y[051Testing软件测试网;Zo$| [F3r {7v9h

意味着线程正在刷新更改后的表数据,并正在关闭使用过的表。这应该是一个快速的操作。如果不快,则您应该验证您的磁盘没有充满,并且磁盘没有被超负荷使用。51Testing软件测试网5m&O!f$I.f

!V_Xj a7^&l0· Connect Out

![]Ch7r0

.Z cPjW$H%K0连接到主服务器上的从属服务器。51Testing软件测试网!uUi!` Y~M}

51Testing软件测试网/Sk+}/M/Z(u2vM0r3@"m

· Copying to tmp table on disk51Testing软件测试网8e k3e[ b @%]%z

-dP+Tl ~+t0临时结果集合大于tmp_table_size。线程把临时表从存储器内部格式改变为磁盘模式,以节约存储器。

p*W)T/l oh(r0T0

)tM ]1}f1U*lz0· Creating tmp table

Fp:\N*O(SF y051Testing软件测试网5k"\,q&~"p

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

#nmY)M.PcuV0Uj051Testing软件测试网_:R@pM['v

· deleting from main table

tP-a'q+m}m9t0

#S:Y `q$geoP.l0服务器正在执行多表删除的第一部分,只从第一个表中删除。51Testing软件测试网b3w4O m6C

51Testing软件测试网+]/}(Y}}

· deleting from reference tables51Testing软件测试网-gP&E7f6c J

51Testing软件测试网HLiS9A8`

服务器正在执行多表删除的第二部分,从其它表中删除匹配的行。51Testing软件测试网 \q'S2vy9__8`k

51Testing软件测试网-gJ$oV~N

· Flushing tables

t L D1n ] P-y._4V+V@0

w5z hG f5Z`:u1F0线程正在执行FLUSH TABLES,并正在等待所有线程,以关闭表。

O9bm%][n8_/L0

y'y mt JRX0· FULLTEXT initialization

LM5y1Oc051Testing软件测试网 l7PREp6zi9F`^X

服务器正在准备执行一个自然语言全文本搜索。

X#`zL*J {9O(~0

'UBN(f-ku4ZC0· Killed

q,H{$}Pg.ME0

!d:e1[2v%_)F-e$Y0有人已经向线程发送了一个KILL命令。在下一次检查终止标记时,应放弃。该标记在MySQL的每个大循环中都检查,但是在有些情况下,线程终止只需要较短的时间。如果该线程被其它线程锁定,则只要其它线程接触锁定,终止操作就会生效。51Testing软件测试网+`0_^$u#]ab

51Testing软件测试网u Qr[Nw&Ro3Z

· Locked51Testing软件测试网/?#l8Q/W&s*I

PuSjcpu*Sp0该查询被其它查询锁定。

B(xzx0n2Uc!iwG0

Zt0r,Z.`TY#[0· Sending data51Testing软件测试网2vy1cBQ-j

51Testing软件测试网;T6E~Qy-|:d/m#\

线程正在为SELECT语句处理行,同时正在向客户端发送数据。51Testing软件测试网`6mU5` U.`3eZS

51Testing软件测试网4w)_.Ppg+` E2E:j+U

· Sorting for group51Testing软件测试网-}@^ o)G`0M b Uo'y

&bEXR(V5?0线程正在进行分类,以满足GROUP BY要求。51Testing软件测试网(b C8C'L BG-D9[#u

51Testing软件测试网"I4B|]V*f] O ^

· Sorting for order

wW dLXs0

#x X9v&oHnZ/_0线程正在进行分类,以满足ORDER BY要求。51Testing软件测试网V&ow-K|T

51Testing软件测试网-K$dPX~Xa#E'q

· Opening tables51Testing软件测试网s Nr-k;|4K rQ E

3s5H9]1?)_#t Xt"S0线程正在试图打开一个表。这应该是非常快的过程,除非打开操作受到阻止。例如,一个ALTER TABLE或一个LOCK TABLE语句可以阻止打开一个表,直到语句完成为止。51Testing软件测试网WT,QRPi!@ B

51Testing软件测试网/}.LcP.ZS_

· Removing duplicates

,BG Z6m4_6w8Ao$[/g0

-@wvxTs fY?g9e0N0查询正在使用SELECT DISTINCT。使用时,在早期阶段,MySQL不能优化不同的操作。因此,MySQL要求一个额外的阶段,以便在把结果发送给客户端之前取消所有的复制行。51Testing软件测试网}Jb:r[

51Testing软件测试网9NT"cSZ2[,H9U

· Reopen table

5C8vZ6}L051Testing软件测试网Ii8FIYV+|Y

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

C:b9C.m{!U\Is0c"h051Testing软件测试网hL&m8P#IzW

· Repair by sorting

vZ4x F_ ^0

8y~6g!} [$Z0修复代码正在使用一个分类来创建索引。51Testing软件测试网h j4w-f6y-yb!g

-`Y wXb:A!U7z0· Repair with keycache

H Me!]M sA0

mvixr2`#{ g7wLyz0修复代码正在通过关键缓存一个接一个地使用创建关键字。这比通过分类修复要慢很多。51Testing软件测试网5\ L0k B+Wr,b

QK5N4S4B ]+n0· Searching rows for update

n e&`z!O051Testing软件测试网+l&FUH)?+w*v

线程正在进行第一阶段,以在更新之前,查找所有匹配的行。如果UPDATE正在更改用于查找相关行的索引,则必须这么做。51Testing软件测试网x)I(J_p*M!O$p

51Testing软件测试网1C$w l+x7jr$m!m

· Sleeping51Testing软件测试网|OD dUen:e

4R9q!?mcdS9K#v4[0线程正在等待客户端,以向它发送一个新语句。

U _2Ue:X[j051Testing软件测试网 r#Q;J].dj:H B

· System lock51Testing软件测试网U.iwY(I6R&k)q

51Testing软件测试网sy {,w3\w

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

r*["f$\W0

k| }:`\0· Upgrading lock51Testing软件测试网.qT@ H'C5r

"Kg n)Gd3Jw$M/M` b0INSERT DELAYED管理程序正在试图得到一个表锁定,以插入行。51Testing软件测试网^4L DU P

!iRPUie)f?0· Updating

"z'I }#b ~8TDLX Z0

in5\P }"I!w]0线程正在搜索行,并正在更新这些行。51Testing软件测试网2G k wF$@

)l8K R0| S(s~&Q0· User Lock

2V6pl^?%j*m0

)^OU#S3Z@m0线程正在等待GET_LOCK()。

X4\5GOZ3X6z+L0

K[8M(Jg-A sW0· Waiting for tables

7uJO8E [051Testing软件测试网!ZW;_"C"q _r3hbZ4{

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

.Pu/o8j%U051Testing软件测试网Qp h Q:ize7dE

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

k_%etH;fGF |051Testing软件测试网.c&C^+U*z-X4W"r6?"V&g

· waiting for handler insert

;z~&Aq w:m'f051Testing软件测试网 iQ:P:j Y

INSERT DELAYED管理程序已经处理了所有处于等待状态的插入,并正在等待新插入。51Testing软件测试网#L&@%h7bO E

51Testing软件测试网&vzV-@(D-mYw;D

多数状态对应于非常快的操作。如果一个线程在这些状态下停留了数秒,则可能是有问题,需要进行调查。51Testing软件测试网KQ7};p3_

51Testing软件测试网 c_ wT1G#]#T+?

有一些其它的状态,在前面的清单中没有提及,但是其中有很多状态对于查找服务器中的程序错误是有用的。

-rX {+id*E Ie$g+z [0

+bBw)@{~e0从这里可以看到是不是有表锁死了,是不是有些语句执行了很久,甚至可以通过kill id 语句灭了捣乱的连接。

wN%S)?dY2|0

TAG: MySQL mysql

 

评分:0

我来说两句

Open Toolbar