実行中の MySQL プロセスを表示する方法

Shi Xing Zhongno Mysql Purosesuwo Biao Shisuru Fang Fa



MySQL サーバー上で多数のスレッドが実行されている場合があります。これらのスレッドのうち、アイドル状態のスレッドは、実行中のプロセスを表示して現在必要のないプロセスを強制終了できない限り、MySQL サーバーでエラーを引き起こす可能性があります。

MySQL は、実行中のプロセスを一覧表示するためのさまざまなオプションをユーザーに提供するリレーショナル DBMS です。実行中のMySQLプロセスを表示する方法を説明します。







MySQL プロセスの特定

サーバー上に MySQL データベースがある場合、そのステータスをチェックして負荷量を確認する必要がある場合があります。 MySQL データベース上のさまざまなクエリで遅延や問題が発生していることに気付いた場合は、過剰なアイドル状態のスレッドがある可能性があることを示しています。



したがって、どのスレッドが問題を引き起こしているのか、また負荷を最小限に抑える方法を理解すると便利です。 MySQL では、さまざまなオプションを使用して実行中のプロセスを分析できます。 MySQL プロセスを表示するのに役立つ 2 つのオプションについて説明します。



方法 1: Show Processlist コマンドを使用する

コマンドラインで MySQL にアクセスする場合、SHOW PROCESSLIST コマンドを使用して、MySQL サーバーで実行中のすべてのプロセスに関する情報を表示できます。実行すると、さまざまな接続とその状態、時間などの情報のスナップショットがサーバーに提供されます。





実行するコマンドは次のとおりです。

プロセスリストを表示;

出力のさまざまな列に注目してください。それぞれについて簡単に説明しましょう。



  1. ID – 実行中のプロセスのプロセス ID が表示されます。多数のプロセスが実行されている場合、それぞれに固有の ID があります。
  2. ユーザー – 特定のスレッドに関連付けられているユーザーを表します。
  3. ホスト – 特定のクライアントが接続されているホストを示します。これは、ステートメントを発行した特定のクライアントのホスト名です。
  4. DB – 特定のスレッドのデータベースが選択されている場合は、DB 列の下に表示されます。 NULL が表示されている場合は、データベースが選択されていません。
  5. 指図 – スレッドによって実行されているコマンドが表示されます。
  6. 時間 – 特定のスレッドについて、この列はスレッドが現在の状態にある時間を示します。
  7. – スレッドがどのような状態またはイベントに関与しているかを示します。
  8. 情報 – スレッドが現在実行しているステートメントを示します。

この場合、前の出力は SHOW PROCESSLIST コマンドから取得した結果です。結果は表形式で表示されます。同じ結果を垂直方向に表示したいとします。代わりに次のコマンドを使用できます。

プロセスリスト\G を表示;

実行中のプロセスを見逃さないようにするには、オプションでコマンドに [FULL] を含めます。

方法 2: INFORMATION_SCHEMA.PROCESSLIST オプションを使用する

MySQL には、サーバーに送信されるすべてのアクティブな接続のリストを含む INFORMATION_SCHEMA.PROCESSLIST テーブルがあります。このテーブルにアクセスすると、SHOW PROCESSLIST コマンドで取得するのと同様の、アクティブなすべての接続の詳細が取得され、そのホスト、プロセス ID、状態、コマンドなどがわかります。

実行するコマンドは次のとおりです。

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;

コマンドを実行すると、MySQL 実行プロセスのすべての詳細を示す次のような出力が得られます。

MySQL 実行プロセスを強制終了する方法

実行中のプロセスに問題があるとします。アイドル状態のプロセスを強制終了して、サーバーのロード時間を短縮し、効率を高めることができます。最初のタスクは、特定のスレッドの ID を識別することです。スレッドの ID を見つけるための 2 つの方法を用意しました。

ID を取得したら、次の構文で「kill」コマンドを実行できます。

KILL <プロセス ID>;

コマンドを実行すると、影響を受けた行を示す成功の出力が得られ、クエリはサーバーから切断されます。これが MySQL プロセスを強制終了する方法です。

結論

MySQL では、実行中のプロセスを表示するために使用できる 2 つの方法を提供します。 MySQL SHOW PROCESSLIST を理解するのに役立つように、両方のオプション、指定された構文とコマンド例について説明しました。それでも、実行中のプロセスを強制終了する方法は見てきました。 MySQL SHOW PROCESSLIST がどのように機能するか理解できたでしょうか。