怎么查看服務(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的。