mysql查詢正在執行的程序

2022-07-31 11:06:13 字數 1180 閱讀 1135

檢視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語句就顯示不全,但是乙個判斷問題語句的重要依據。

殺死程序 kill id

mysql 查詢正在執行的語句

排查問題時,需要檢視正在執行的sql,可以用如下兩種方式進行檢視。1 使用show processlist,但是有個弊端,就是只能檢視正在執行的sql語句,對應歷史記錄,檢視不到。好處是不用設定,不會儲存。1 use information schema 2 show processlist 3或者...

mysql 查詢正在執行的程序 親試ok

每一列的含義 和用途 第一列 id,不用說了吧,乙個標識,你要kill乙個語句的時候很有用。第二列 user列,顯示單前使用者,如果不是root,這個命令就只顯示你許可權範圍內的sql語句。第三列 host列,顯示這個語句是從哪個ip的哪個埠上發出的。可以用來追蹤出問題語句的使用者。第四列 db列,...

查詢正在執行的SQL

將美元符號替換成 oracle正在執行的sql語句及執行該語句的使用者 select b.sid oracleid,b.username oracle使用者,b.serial spid 作業系統id,paddr,sql text 正在執行的sql,b.machine 計算機名 from v美元符號p...