このページは機械翻訳したものです。
MySQL プロセスリストには、サーバー内で実行されているスレッドのセットによって現在実行されている操作が示されます。 PROCESSLIST テーブルは、プロセス情報のソースです。 このテーブルと他のソースの比較は、プロセス情報のソース を参照してください。
PROCESSLIST テーブルには、次のカラムがあります:
-
ID接続識別子。 これは、
SHOW PROCESSLISTステートメントのIdカラムに表示される値と同じで、パフォーマンススキーマthreadsテーブルのPROCESSLIST_IDカラムに表示され、スレッド内のCONNECTION_ID()関数によって返されます。 -
USERこのステートメントを発行した MySQL ユーザー。
system userの値は、遅延行ハンドラスレッド、レプリカホストで使用される I/O または SQL スレッドなど、タスクを内部的に処理するためにサーバーによって起動される非クライアントスレッドを指します。system userの場合、Hostカラムにホストが指定されていません。unauthenticated userは、クライアント接続に関連付けられたが、クライアントユーザーの認証がまだ行われていないスレッドを参照します。event_schedulerは、スケジュールされたイベントをモニターするスレッドを指します (セクション25.4「イベントスケジューラの使用」 を参照)。注記system userのUSER値は、SYSTEM_USER権限とは異なります。 前者は内部スレッドを指定します。 後者は、システムユーザーと通常のユーザーアカウントカテゴリを区別します (セクション6.2.11「アカウントカテゴリ」 を参照)。 -
HOSTステートメントを発行するクライアントのホスト名 (ホストがない
system userを除く)。 TCP/IP 接続のホスト名は、形式でレポートされるため、どのクライアントが何を実行しているかを簡単に判別できます。host_name:client_port -
DBスレッドのデフォルトデータベース。選択されていない場合は
NULL。 -
COMMANDスレッドがクライアントのかわりに実行しているコマンドのタイプ。セッションがアイドル状態の場合は
Sleep。 スレッドコマンドの説明については、セクション8.14「サーバースレッド (プロセス) 情報の確認」を参照してください。 このカラムの値は、クライアント/サーバープロトコルのCOM_コマンドとxxxCom_ステータス変数に対応します。 セクション5.1.10「サーバーステータス変数」を参照してください。xxx -
TIMEスレッドが現在の状態になってからの秒数。 レプリカ SQL スレッドの場合、この値は、最後にレプリケートされたイベントのタイムスタンプとレプリカホストのリアルタイムの間の秒数です。 セクション17.2.3「レプリケーションスレッド」を参照してください。
-
STATEスレッドが行なっていることを示すアクション、イベント、または状態。
STATEの値の詳細は、セクション8.14「サーバースレッド (プロセス) 情報の確認」 を参照してください。ほとんどの状態がきわめてすばやい操作に対応します。 スレッドの状態が何秒間も特定の状態にとどまっている場合は、調査が必要な問題が発生している可能性があります。
-
INFOスレッドが実行しているステートメント。ステートメントを実行していない場合は
NULL。 このステートメントは、サーバーに送信されるステートメント、またはこのステートメントがほかのステートメントを実行する場合は、もっとも内側のステートメントである可能性があります。 たとえば、CALLステートメントがSELECTステートメントを実行しているストアドプロシージャを実行する場合、INFO値にはSELECTステートメントが表示されます。
メモ
PROCESSLISTは非標準のINFORMATION_SCHEMAテーブルです。SHOW PROCESSLISTステートメントからの出力と同様に、PROCESSLISTテーブルには、PROCESS権限がある場合は他のユーザーに属するスレッドも含め、すべてのスレッドに関する情報が表示されます。 それ以外の場合 (PROCESS権限なし)、非匿名ユーザーは自分のスレッドに関する情報にはアクセスできますが、他のユーザーのスレッドにはアクセスできず、匿名ユーザーはスレッド情報にアクセスできません。SQL ステートメントが
PROCESSLISTテーブルを参照する場合、MySQL はステートメントの実行が開始されるとテーブル全体を一度移入するため、ステートメントの実行中に読取り一貫性があります。 複数ステートメントトランザクションの読取り一貫性はありません。
次のステートメントは同等です。
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
SHOW FULL PROCESSLIST