プロセスを確認する方法は2つある
次の2つどっちでも
select * from information_schema.PROCESSLIST;
SHOW [FULL] PROCESSLIST;
→[FULL]を入れなくてもOKだけど、どんなSQLが実行されているかを示すInfoが先頭100文字までしか表示されないです。
select * from information_schema.PROCESSLIST;
where句やorder by句などが使えて便利
以下、コピペしてそのまま使えるselect文です↓
実行時間の長い順でソートする
select * from information_schema.PROCESSLIST
order by TIME desc -- 実行時間の長い順でソート
;
ホスト名やIPアドレスで絞り込む
select * from information_schema.PROCESSLIST
where
HOST like '%192:%' -- ホストIPの一部でlike検索
or DB = 'testDB' -- スキーマ名で検索
;
ホスト名で「:」を入れているのは、ポート番号の手前だけでlike検索したいからです。
開発環境だと、末尾だけ異なる似たようなIPアドレスのプロセスが大量に並ぶので、末尾だけで確実に絞り込みたいからです。
あと、重いプロセスをkillする時は、出来るだけホスト名やIPアドレスで絞り込むとよいと思います。
他人のプロセスを間違えてkillすることもないわけじゃないので・・・。
(先日、勝手にkillされて泣きを見た)