Read it later.

Web製作に関するサーバ構成やコーディングネタの備忘録として使ってます。

*

[MySQL]プロセスの確認と、プロセスの強制終了

   

ストプロ内でのどのSQLが実行されているかもプロセスを見れば分かる

MySQL内で、いま実行中のプロセスを確認することができます。

どういったSQL文が実行されているかとか、
どのSQL文がいま待ち状態になっているかとも分かるので、結構便利。

実行されているSQL文に関してはその実行時間(単位:秒)も把握することができます。

/* プロセスの確認(SQLが100文字以上だとカットされて表示される) */
SHOW PROCESSLIST;

↑上記実行結果の出力例が↓

> SHOW PROCESSLIST;
+---------+---------+-----------+----------------+---------+------+-------+------------------+
| Id      | User    | Host      | db       | Command | Time | State | Info             |
+---------+---------+-----------+----------------+---------+------+-------+------------------+
| 1712960 | root    | localhost | h67t3xy4 | Sleep   |  367 |       | NULL             |
| 1714084 | root    | localhost | h67t3xy4 | Query   |    0 | NULL  | show processlist |
| 1727586 | postfix | localhost | postfix  | Sleep   |   94 |       | NULL             |
+---------+---------+-----------+----------------+---------+------+-------+------------------+
/* プロセスの確認(SQL文を全部表示=>レイアウトが崩れるから\Gつけて実行することお薦め) */
SHOW FULL PROCESSLIST \G;
> SHOW FULL PROCESSLIST \G;
*************************** 1. row ***************************
     Id: 1712960
   User: root
   Host: localhost
     db: h67t3xy4
Command: Query
   Time: 222
  State: updating
   Info: DELETE FROM hogehoge WHERE eigyou_date < '2014-10-17'
*************************** 2. row ***************************
     Id: 1714084
   User: root
   Host: localhost
     db: h67t3xy4_bssdb
Command: Query
   Time: 0
  State: NULL
   Info: show full processlist

デッドロックや重いSQL文の強制終了もプロセスIDを指定すればOK。

/* IDを指定してプロセスを強制終了 */
kill プロセス番号;

ストアド内のどのSQL文で実行時間が掛かっているのか、それが分かるようになるのは本当に大きい。

ぜひ使ってみて下さい。

 - MySQL

  関連記事

mysql
[MySQL]Cannot load from mysql.proc. The table is probably corrupted

mysqlのストアドプロシージャの再登録をしようとすると、下記のエラーが表示され …

mysql
MySQLのrootパスワードが分からなくなったら

rootのパスワードが分からなくなったとき、どうすることもできないと観念したら、 …

mysql
[MySQL][phpMyAdmin]Allowed memory size of XXXXXX bytes exhausted (tried to allocate XXXXXX bytes)

こんな現象がおきました phpMyAdminでデータベース全体をエクスポートした …

mysql
[MySQL]よく使うコマンド一覧

自分用のメモです。

mysql
[MySQL]ストアドプロシージャをmysqldumpでダンプできない – user has insufficent privileges to SHOW CREATE PROCEDURE

データベースに対して、ALL PRIVILEGES権限を割り当てているユーザでm …

mysql
[MySQL]LOAD DATA INFILEで正常にCSVデータを読み込めない

※winscpを使って開発している人だけ、ご覧下さい。 LOAD DATA IN …

mysql
Windows7でMySQL Connectorのインストールに失敗する – Error installing ODBC driver MySQL ODBC 5.5 Driver

Error installing ODBC driver MySQL ODBC …

mysql
[MySQL] ランダム文字列の生成

「指定された文字の構成で、ランダムの文字列を生成する。」 よく使うのだけど、なか …

mysql
MySQL 5.5からMySQL 5.6へのアップグレード後の諸々の対応

先日、とあるシステムのデータベースをMySQL5.5からMySQL5.6にアップ …

mysql
[MySQL]コマンドでのSQL文入力の途中キャンセル

mysqlをコマンドラインで操作している際、特に複数行、SQL文を入力してて途中 …