mysql檢視正在執行的sql語句並將其kill掉

2021-10-03 10:53:25 字數 820 閱讀 3019

mysql檢視正在執行的sql語句並將其kill掉

好久沒寫了,最近太忙了,

今天以為同事在測試機上執行了乙個儲存過程,導致該錶的查詢等一切操作沒法進行,一小會的時間資料量增加4個g,剛開始不知道什麼原因,而且資料量還在實時增加,所以就懷疑到可能是每條sql語句導致了,這就用到了查詢正在執行的sql語句的命令

select * from information_schema.processlistwhere info is not null;

會看到一系列的sql語句,接下來就是要分析哪條sql導致的,因為我們執行的列表中的語句相對比較簡單的,只有一條比較麻煩,所以查詢的比較快(因為是實時變化的,我們直接把執行的拷貝的到檔案中,然後對該錶進行操作的命令找出來);

接下來就是殺死這條sql語句了

在mysql的bin目錄下執行 mysqladmin -uroot -p kill 要殺的id(上一條語句會有id)

如果是遠端的話在本機的mysql的bin目錄下執行 mysqladmin -uroot -p -h 192.168.0.11 kill 要殺的id

select * from information_schema.processlist where info is not null order by time desc;
select concat( 'kill ',id ,';') from information_schema.processlist where info is not null and time > 10 order by time desc;

mysql檢視正在執行的sql語句

1 使用processlist,但是有個弊端,就是只能檢視正在執行的sql語句,對應歷史記錄,檢視不到。好處是不用設定,不會儲存。use information schema show processlist 或者 select from information schema.processlist...

Oracle檢視正在執行的sql

1 查詢oracle正在執行的sql語句及執行該語句的使用者 select b.sid oracleid,b.username oracle使用者,b.serial spid 作業系統id,paddr,sql text 正在執行的sql,b.machine 計算機名 from v process a...

mysql檢視正在執行的語句

mysql檢視正在執行的語句 並且檢視執行最多的mysql語句 mysql 開啟 general log 後,所有的查詢語句都會記錄在 general log 檔案,檔案為唯讀方式,但這樣general log檔案會非常大,所以預設是關閉的。但有時需要查錯等原因,暫時需要開啟general log。...