mysql 実行中のクエリを一覧で確認して、指定したクエリをKILL(停止)させる方法

記事内に商品プロモーションを含む場合があります。
2017.11.6 28 views

mysql に対話型でログインする

まず初めに、root で mysql に対話型でログインします。

mysql -u root -p

パスワードは各環境のものを入力してください。

現在実行されているクエリの一覧を確認する

現在実行されているクエリを確認するには下記のコマンドを実行します。

mysql> show processlist;

+---------+-----------+-----------------------------+-------------+---------+-------+-------+------------------+
| Id      | User      | Host                        | db          | Command | Time  | State | Info             |
+---------+-----------+-----------------------------+-------------+---------+-------+-------+------------------+
|       1 |  username | localhost                   | NULL        | Query   |     0 | init  | show processlist |
+---------+-----------+-----------------------------+-------------+---------+-------+-------+------------------+

すると、このような表が画面上に出力されますので、どのようなクエリが実行されているのか一覧形式で見ることができます。

※この例では、1個しか記載していません。

任意のプロセス/クエリを強制的に停止させる

誤って重たいクエリを実行してしまったときや、サーバに実行したクエリが残りっぱなしになってしまったときに使えます。

先ほど説明したshow processlistコマンドを使用して、実行されているプロセスの ID を確認した後、下記のコマンドで強制的に終了させることができます。

mysql> kill [ID];

これで、うっかり実行してしまった重たいクエリを停止させることができます。