重いクエリの強制終了

Tag:

処理の重いクエリを実行してしまい、いつまでも結果が返ってこないときの対処法について紹介します。

1. mysqlに接続します。

# mysql -u root -p
Enter password:

2. 実行中のスレッドを表示します

mysql> show processlist;
 +----+------+-----------------+------+---------+-------+----------------------+----------------------------------+
 | Id | User | Host            | db   | Command | Time  | State                | Info                             |
 +----+------+-----------------+------+---------+-------+----------------------+----------------------------------+
 | 21 | root | localhost:57356 | db_1 | Query   | 39850 | Copying to tmp table | SELECT COUNT(*) FROM `topics`    |
 | 22 | root | localhost:63525 | db_1 | Query   | 40131 | Waiting for table    | SELECT * FROM `topics`           |

3. 2で確認した処理の重いクエリをkillします。killは対象クエリのIdを指定します。

mysql> kill 21;

スポンサーリンク