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

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
先簡單說一下各列的含義和用途,第一列,id,不用說了吧,一個標(biāo)識,你要kill一個語句的時候很有用,比如我們進行了一個非常耗時的查詢,想停止的時候,就只有采用這個命令了。

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

host列,顯示這個語句是從哪個ip的哪個端口上發(fā)出的,可以用來追蹤出問題語句的用戶。

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

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

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


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