MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

13.7.7.15 SHOW ENGINE ステートメント

SHOW ENGINE engine_name {STATUS | MUTEX}

SHOW ENGINE は、ストレージエンジンに関する動作情報を表示します。 これには PROCESS 権限が必要です。 このステートメントは、次のバリアントがあります。

SHOW ENGINE INNODB STATUS
SHOW ENGINE INNODB MUTEX
SHOW ENGINE PERFORMANCE_SCHEMA STATUS

SHOW ENGINE INNODB STATUS は、InnoDB ストレージエンジンの状態に関する InnoDB 標準モニターからの広範囲にわたる情報を表示します。 InnoDB の処理に関する情報を提供する標準モニターやその他の InnoDB モニターについては、セクション15.17「InnoDB モニター」を参照してください。

SHOW ENGINE INNODB MUTEX は、InnoDB 相互排他ロックおよび読み書きロックの統計を表示します。

注記

InnoDB mutex および rwlocks は、Performance Schema テーブルを使用してモニターすることもできます。 セクション15.16.2「パフォーマンススキーマを使用した InnoDB Mutex 待機のモニタリング」を参照してください。

相互排他統計収集は、次のオプションを使用して動的に構成されます:

SHOW ENGINE INNODB MUTEX の mutex 統計の収集は、innodb_monitor_enable='all'を設定して有効にすることも、innodb_monitor_disable='all'を設定して無効にすることもできます。

SHOW ENGINE INNODB MUTEX 出力には、次のカラムがあります:

バッファプールが大きいシステムでは出力量が過度に多いため、SHOW ENGINE INNODB MUTEX では各バッファプールブロックの mutex および rw ロックはリストされません。 ただし、SHOW ENGINE INNODB MUTEX はバッファープールブロック相互排他ロックおよび rw-lock の集約 BUF_BLOCK_MUTEX スピン、待機、および呼び出しの値を出力します。 SHOW ENGINE INNODB MUTEX はまた、待機されなかった (os_waits=0) 相互排他ロックまたは読み書きロックも一覧表示しません。 そのため、SHOW ENGINE INNODB MUTEX は、OS レベルの待機を少なくとも 1 回は発生させた、バッファープールの外部の相互排他ロックと読み書きロックに関する情報のみを表示します。

SHOW ENGINE PERFORMANCE_SCHEMA STATUS を使用して、パフォーマンススキーマコードの内部操作を検査します。

mysql> SHOW ENGINE PERFORMANCE_SCHEMA STATUS\G
...
*************************** 3. row ***************************
  Type: performance_schema
  Name: events_waits_history.size
Status: 76
*************************** 4. row ***************************
  Type: performance_schema
  Name: events_waits_history.count
Status: 10000
*************************** 5. row ***************************
  Type: performance_schema
  Name: events_waits_history.memory
Status: 760000
...
*************************** 57. row ***************************
  Type: performance_schema
  Name: performance_schema.memory
Status: 26459600
...

このステートメントは、さまざまなパフォーマンススキーマオプションがメモリー要件に与える効果について、DBA が理解できるようにすることを目的としています。

Name 値は、それぞれ、内部バッファーとバッファー属性を指定する 2 つの部分で構成されます。 バッファー名は、次のように解釈します。

バッファー属性には、次の意味があります。

場合によっては、パフォーマンススキーマの構成パラメータと SHOW ENGINE 値の間に直接の関係が存在します。 たとえば、events_waits_history_long.countperformance_schema_events_waits_history_long_size に対応します。 その他の場合、この関係はより複雑です。 たとえば、events_waits_history.count は、performance_schema_events_waits_history_size (スレッド当たりの行数) に performance_schema_max_thread_instances (スレッド数) を掛けた値に対応します。

SHOW ENGINE NDB STATUS.  サーバーで NDB ストレージエンジンが有効になっている場合、SHOW ENGINE NDB STATUS は、接続されているデータノードの数、クラスタの接続文字列、クラスタバイナリログのエポックや、クラスタに接続したときに MySQL Server によって作成されたさまざまなクラスタ API オブジェクトの数などのクラスタステータス情報を表示します。 このステートメントからのサンプル出力を次に示します。

mysql> SHOW ENGINE NDB STATUS;
+------------+-----------------------+--------------------------------------------------+
| Type       | Name                  | Status                                           |
+------------+-----------------------+--------------------------------------------------+
| ndbcluster | connection            | cluster_node_id=7,
  connected_host=198.51.100.103, connected_port=1186, number_of_data_nodes=4,
  number_of_ready_data_nodes=3, connect_count=0                                         |
| ndbcluster | NdbTransaction        | created=6, free=0, sizeof=212                    |
| ndbcluster | NdbOperation          | created=8, free=8, sizeof=660                    |
| ndbcluster | NdbIndexScanOperation | created=1, free=1, sizeof=744                    |
| ndbcluster | NdbIndexOperation     | created=0, free=0, sizeof=664                    |
| ndbcluster | NdbRecAttr            | created=1285, free=1285, sizeof=60               |
| ndbcluster | NdbApiSignal          | created=16, free=16, sizeof=136                  |
| ndbcluster | NdbLabel              | created=0, free=0, sizeof=196                    |
| ndbcluster | NdbBranch             | created=0, free=0, sizeof=24                     |
| ndbcluster | NdbSubroutine         | created=0, free=0, sizeof=68                     |
| ndbcluster | NdbCall               | created=0, free=0, sizeof=16                     |
| ndbcluster | NdbBlob               | created=1, free=1, sizeof=264                    |
| ndbcluster | NdbReceiver           | created=4, free=0, sizeof=68                     |
| ndbcluster | binlog                | latest_epoch=155467, latest_trans_epoch=148126,
  latest_received_binlog_epoch=0, latest_handled_binlog_epoch=0,
  latest_applied_binlog_epoch=0                                                         |
+------------+-----------------------+--------------------------------------------------+

これらの各行の Status カラムには、クラスタへの MySQL サーバー接続とクラスタバイナリログステータスに関する情報がそれぞれ表示されます。 Status 情報は、カンマで区切られた一連の名前と値のペアの形式をしています。

connection の行の Status カラムには、次のテーブルで説明する名前と値のペアが含まれます。

名前
cluster_node_id クラスタ内の MySQL サーバーのノード ID
connected_host MySQL サーバーが接続されているクラスタ管理サーバーのホスト名または IP アドレス
connected_port MySQL サーバーが管理サーバー (connected_host) に接続するために使用するポート
number_of_data_nodes クラスタのために構成されているデータノードの数 (つまり、そのクラスタの config.ini ファイル内の [ndbd] セクションの数)
number_of_ready_data_nodes 実際に実行されているクラスタ内のデータノードの数
connect_count この mysqld がクラスタデータノードに接続または再接続した回数

binlog 行の Status カラムには、NDB Cluster レプリケーションに関する情報が含まれています。 そこに含まれている名前と値のペアについて、次の表で説明します。

名前
latest_epoch この MySQL サーバー上で直近で実行された最新のエポック (つまり、このサーバー上で実行された最新のトランザクションのシーケンス番号)
latest_trans_epoch クラスタのデータノードによって処理された最新のエポック
latest_received_binlog_epoch バイナリログスレッドによって受信された最新のエポック
latest_handled_binlog_epoch (バイナリログへの書き込みのために) バイナリログスレッドによって処理された最新のエポック
latest_applied_binlog_epoch 実際にバイナリログに書き込まれた最新のエポック

詳細は、セクション23.6「NDB Cluster レプリケーション」を参照してください。

クラスタのモニタリングにもっとも役立つ可能性のある SHOW ENGINE NDB STATUS の出力の残りの行を、次に Name で一覧表示します。

注記

現在のセッション中に、このステートメントが実行されている SQL ノードにアクセスしている MySQL クライアントによって NDB テーブルに関連する操作が実行されていない場合、SHOW ENGINE NDB STATUS は空の結果を返します。