MySQLの処理を停止させる方法
MySQLで、負荷のかかるクエリなどで処理に時間がかかっている場合などで、その処理を停止させたいということがあります。
このようなときには停止したい処理のプロセスを、KILLコマンドで停止します。
処理中のプロセスの一覧を見るには、PROCESSLISTを使います。
mysql> show processlist; +-------+--------+-----------------+---------+---------+------+--------------+-----------------------------------+ | Id | User | Host | db | Command | Time | State | Info | +-------+--------+-----------------+---------+---------+------+--------------+-----------------------------------+ | 36443 | root | localhost:57622 | test_db | Query | 19 | Sending data | UPDATE test_table SET test='aaa' | | 36468 | root | localhost:57467 | test_db | Query | 0 | NULL | show processlist | +-------+--------+-----------------+---------+---------+------+--------------+-----------------------------------+ 2 rows in set (0.00 sec)
処理を停止させるには、該当するプロセスのIDを指定してKILLコマンドを実行します。
上の例で、UPDATEクエリを停止させるには、このプロセスIDが36443なので次のようにコマンドを実行します。
mysql> KILL 36443;
クエリをSQLファイルで実行した場合は、プロセスを停止させてもSQLファイルに記述されている次のクエリが実行されたりするだけで処理は停止しません。
この場合はWindowsであれば『 Ctrl+C 』、Linuxであれば『 Ctrl+Z 』でSQLファイルの読み込み実行を停止させた後、KILLコマンドでクエリを停止させます。
関連記事
- Seedの実行順(外部キー制約などを先に実行させる方法) Foreign key violation
 - EC-CUBE2系で商品を大量にカートに入れると注文情報が抜けたりカートが消えたりする
 - yumのius(iuscommunity.org)でエラーが出る場合
 - iusリポジトリで公開されているパッケージの一覧
 - phpMyAdminでログイン画面を出さずにデータベースに接続する方法
 - MySQLやMariaDBは標準ではログローテートされない
 - MySQL(MariaDB)をユーザー情報を含めてすべて移行する方法
 - 4.0以前と4.1以降のパスワード方式の違い
 - CakePHPでカラムを比較してSELECTする方法
 - 『Table is marked as crashed and should be repaired』の修復方法
 - コマンドやphpMyAdminで複数のデータベースに接続できるユーザーを作成する方法
 - phpMyAdminで『information_schema』などを非表示にする方法
 - PDO_MYSQLをインストールする方法
 - 日付型のフォーマットにスラッシュを使ってはいけません(文字コードによって値が変わる)
 - MySQLでdatetime型(日時)を日付で抽出するSQLの速度比較
 - データベースを定時バックアップする方法(毎日バックアップする処理)
 - MySQL関数のまとめ
 - MySQLサーバに接続できるかどうかを確認する
 - 複数のデータベースを切り替える方法(別データベースを使用する)
 - MySQLで文字化けを防ぐ方法
 - 別テーブルでSELECT JOINしながらUPDATEする方法(SELECTした結果でUPDATEする)
 - OpenPNE3のデータベースの設定
 - MySQLのログファイル ログの種類と保存先
 - 文字コードを指定する方法
 - LIMITで件数制限をしつつ、全件数を取得する方法 SQL_CALC_FOUND_ROWS FOUND_ROWS()
 - SQL Buddy ブラウザベースのMySQL管理ツール
 - Got a packet bigger than 'max_allowed_packet' bytes
 - CakePHPのDB接続情報設定
 - SQL文で特定の曜日のみ抽出するには
 - OpenPNE3のサーバ移行の方法
 - EC-CUBEのサーバ移行の方法
 - EC-CUBEのバックアップ機能とリストア
 - EC-CUBEでMySQLデータベースのデータ取得で文字化けするときの対処法
 - symfonyのORマッパ(Propel、Doctrine)
 - Ruby on Railsのマイグレーションの型とMySQLの型の対応表
 - MySQLでランダムな数字を得る方法
 - MySQLでBeep音を消す設定
 - Zend_DBのSELECTメソッドのまとめ
 - Zend_DBの基本
 - MySQLでクエリーをログに記録する方法
 - MySQLのインストール
 - Zend Frameworkのデータベース接続
 - WordPressのインストール
 - DB設計を見直してEC-CUBEを高速化する
 - WindowsでMySQLを再起動する方法
 - レコード挿入時の #1364 - Field doesn't have a default value
 - オフセットの後半になると急に遅くなる MySQLの高速化
 - Beep音を無効にする
 - MySQL Query Browser 本家GUIツール
 - CSE(Common SQL Environment) SQL便利ツール
 - Symfony PropelでのMySQLの設定方法
 - MySQLのソケットエラー
 - utf8_general_ci と utf8_unicode_ci の違い
 - 文字列型(データ型)のまとめ
 - 日付と時刻型(データ型)のまとめ
 - 数値型(データ型)のまとめ
 - 個体識別情報・UIDの取得方法
 - Windows MySQLインストール後の設定
 - Windows MySQLのインストール
 
スポンサーリンク





