查看mysql程序有兩種方法
1.進入mysql/bin目錄下輸入mysqladmin processlist;
2.啟動mysql,輸入show processlist;
如果有SUPER權限,則可以看到全部的線程,否則,只能看到自己發起的線程(這是指,當前對應的MySQL帳戶運行的線程)。
mysql> show processlist; +-------+-----------+---------------------+----------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +-------+-----------+---------------------+----------+---------+------+-------+------------------+ | 19161 | test_user | 171.8.216.253:63583 | tbkttest | Sleep | 685 | | NULL | | 19164 | test_user | 171.8.216.253:63677 | tbkttest | Sleep | 297 | | NULL | | 19165 | root | localhost | tbkttest | Query | 0 | NULL | show processlist | | 19166 | root | localhost | NULL | Sleep | 36 | | NULL | +-------+-----------+---------------------+----------+---------+------+-------+------------------+ 4 rows in set (0.00 sec)
先簡單說一下各列的含義和用途,
第一列 id,不用說了吧,一個標識,你要kill一個語句的時候很有用。
第二列 user列,顯示單前用戶,如果不是root,這個指令就只顯示你權限範圍內的sql語句。
第三列 host列,顯示這個語句是從哪個ip的哪個連接埠上發出的。可以用來追蹤出問題語句的使用者。
第四列 db列,顯示這個程序目前連接的是哪個資料庫。
第五列 command列,顯示目前連接的執行的命令,一般就是休眠(sleep),查詢(query),連接(connect)。
第六列 time列,此這個狀態持續的時間,單位是秒。
第七列state列,顯示使用目前連接的sql語句的狀態,很重要的列,後續會有所有的狀態的描述,請注意,state只是語句執行中的某一個狀態,一個sql語句,已查詢為例,可能需要經過copying to tmp table,Sorting result,Sending data等狀態才可以完成。
第八列 info列,顯示這個sql語句,因為長度有限,所以長的sql語句就顯示不全,但是一個判斷問題語句的重要依據。
mysql手冊裡有所有狀態的說明,連結如下:http://dev.mysql.com/doc/refman/5.0/en/general-thread-states.html
##殺死進程kill id.
#
以上是怎麼查看mysql進程的詳細內容。更多資訊請關注PHP中文網其他相關文章!