怎么查看服務(wù)器的運(yùn)行情況,比如多少查詢,管理客戶端的查詢等:

show processlist

mysql> show processlist;
+-----+-------------+--------------------+-------+---------+-------+----------------------------------+----------
| Id | User  | Host            | db   | Command | Time| State     | Info                                                                                          
+-----+-------------+--------------------+-------+---------+-------+----------------------------------+----------
|207|root  |192.168.0.20:51718 |mytest | Sleep    | 5    |         | NULL                                                                                                
|208|root  |192.168.0.20:51719 |mytest | Sleep    | 5    |         | NULL       
|220|root  |192.168.0.20:51731 |mytest |Query    | 84   | Locked  |
select bookname,culture,value,type  from book where id=001
先簡(jiǎn)單說(shuō)一下各列的含義和用途,第一列,id,不用說(shuō)了吧,一個(gè)標(biāo)識(shí),你要kill一個(gè)語(yǔ)句的時(shí)候很有用,比如我們進(jìn)行了一個(gè)非常耗時(shí)的查詢,想停止的時(shí)候,就只有采用這個(gè)命令了。

user列,顯示當(dāng)前用戶,如果不是root,這個(gè)命令就只顯示你權(quán)限范圍內(nèi)的sql語(yǔ)句。

host列,顯示這個(gè)語(yǔ)句是從哪個(gè)ip的哪個(gè)端口上發(fā)出的,可以用來(lái)追蹤出問(wèn)題語(yǔ)句的用戶。

db列,顯示這個(gè)進(jìn)程目前連接的是哪個(gè)數(shù)據(jù)庫(kù)。

command列,顯示當(dāng)前連接的執(zhí)行的命令,一般就是休眠(sleep),查詢 (query),連接(connect)。time列,此這個(gè)狀態(tài)持續(xù)的時(shí)間,單位是秒。

state列,顯示使用當(dāng)前連接的sql語(yǔ)句的狀態(tài),很重要的列,后續(xù)會(huì)有所有的狀態(tài)的描述,請(qǐng)注意,state只是語(yǔ)句執(zhí)行中的某一個(gè)狀態(tài),一個(gè)sql語(yǔ)句,已查詢?yōu)槔?,可能需要?jīng)過(guò)copying to tmp table,Sorting result,Sending data等狀態(tài)才可以完成,info列,顯示這個(gè)sql語(yǔ)句


注意權(quán)限,通常只能看到自己的查詢process,是看不到其他人的process的。