MySQL サーバーは、その操作に関する情報を提供する多くのステータス変数を保持します。 これらの変数およびその値は、SHOW [GLOBAL | SESSION] STATUS
ステートメントを使用して表示できます (セクション13.7.7.37「SHOW STATUS ステートメント」を参照してください)。 オプションの GLOBAL
キーワードはすべての接続にわたって値を集計し、SESSION
は現在の接続についての値を表示します。
mysql> SHOW GLOBAL STATUS;
+-----------------------------------+------------+
| Variable_name | Value |
+-----------------------------------+------------+
| Aborted_clients | 0 |
| Aborted_connects | 0 |
| Bytes_received | 155372598 |
| Bytes_sent | 1176560426 |
...
| Connections | 30023 |
| Created_tmp_disk_tables | 0 |
| Created_tmp_files | 3 |
| Created_tmp_tables | 2 |
...
| Threads_created | 217 |
| Threads_running | 88 |
| Uptime | 1389872 |
+-----------------------------------+------------+
多くのステータス変数は、FLUSH STATUS
ステートメントで 0 にリセットされます。
このセクションでは、各ステータス変数について説明します。 ステータス変数サマリーについては、セクション5.1.6「サーバーステータス変数リファレンス」 を参照してください。 NDB Cluster に固有のステータス変数については、セクション23.3.3.9.3「NDB Cluster ステータス変数」 を参照してください。
ステータス変数には次の意味があります。
-
クライアントが接続を適切に閉じることなく終了したため中止された接続の数。 セクションB.3.2.9「通信エラーおよび中止された接続」を参照してください。
-
MySQL Server への接続に失敗した試行数。 セクションB.3.2.9「通信エラーおよび中止された接続」を参照してください。
接続に関する追加情報については、
Connection_errors_
ステータス変数およびxxx
host_cache
テーブルを確認してください。 -
Authentication_ldap_sasl_supported_methods
SASL LDAP 認証を実装する
authentication_ldap_sasl
プラグインは複数の認証方式をサポートしていますが、ホストシステムの構成によっては、すべてが使用できるわけではありません。Authentication_ldap_sasl_supported_methods
変数は、サポートされているメソッドの検出機能を提供します。 その値は、空白で区切られたサポートされているメソッド名で構成される文字列です。 例:"SCRAM-SHA 1 SCRAM-SHA-256 GSSAPI"
この変数は MySQL 8.0.21 で追加されました。
-
一時バイナリログキャッシュを使用したが、
binlog_cache_size
の値を超えたため、一時ファイルを使用してトランザクションからのステートメントを保管したトランザクション数。バイナリログトランザクションキャッシュがディスクに書き込まれた非トランザクションステートメントの数は、
Binlog_stmt_cache_disk_use
ステータス変数で別途追跡されます。 -
キャッシュされた権限オブジェクトの数。 各オブジェクトは、ユーザーとそのアクティブなロールの権限の組合せです。
-
バイナリログキャッシュを使用したトランザクション数。
-
バイナリログステートメントキャッシュを使用したが、
binlog_stmt_cache_size
の値を超えたため、一時ファイルを使用してこれらのステートメントを保管した、非トランザクションステートメントの数。 -
バイナリログステートメントキャッシュを使用した非トランザクションステートメントの数。
-
すべてのクライアントから受信したバイト数。
-
すべてのクライアントに送信されたバイト数。
-
Caching_sha2_password_rsa_public_key
RSA キーペアベースのパスワード交換のために
caching_sha2_password
認証プラグインによって使用される公開キー。 この値は、サーバーがcaching_sha2_password_private_key_path
およびcaching_sha2_password_public_key_path
システム変数で指定されたファイル内の秘密キーと公開キーを正常に初期化した場合にのみ空になります。Caching_sha2_password_rsa_public_key
の値は後者のファイルから取得されます。 -
Com_
ステートメントカウンタ変数は、それぞれのxxx
xxx
ステートメントが実行された回数を示します。 ステートメントのタイプごとにステータス変数が 1 つあります。 たとえば、Com_delete
およびCom_update
はそれぞれDELETE
およびUPDATE
ステートメントをカウントします。Com_delete_multi
およびCom_update_multi
は類似していますが、複数テーブル構文を使用するDELETE
およびUPDATE
ステートメントに適用されます。プリペアドステートメントの引数が不明であったり、実行中にエラーが発生した場合でも、すべての
Com_stmt_
変数が増加します。 つまり、これらの値は発行されたリクエスト数に対応し、正常に完了したリクエスト数に対応しません。 たとえば、ステータス変数はサーバーの起動ごとに初期化され、再起動後も保持されないため、xxx
RESTART
およびSHUTDOWN
ステートメントを追跡するCom_restart
およびCom_shutdown
変数の値は通常ゼロですが、RESTART
またはSHUTDOWN
ステートメントが実行されたが失敗した場合はゼロ以外にすることができます。Com_stmt_
ステータス変数は次のとおりです。xxx
Com_stmt_prepare
Com_stmt_execute
Com_stmt_fetch
Com_stmt_send_long_data
Com_stmt_reset
Com_stmt_close
これらの変数は、プリペアドステートメントコマンドを表します。 これらの名前は、ネットワーク層で使用される
COM_
コマンドセットを示します。 つまり、mysql_stmt_prepare() や mysql_stmt_execute() などのプリペアドステートメントの API コールを実行すると、これらの値は増加します。 ただし、xxx
Com_stmt_prepare
、Com_stmt_execute
、およびCom_stmt_close
も、PREPARE
、EXECUTE
、またはDEALLOCATE PREPARE
に対してそれぞれ増加します。 さらに、古いステートメントカウンタ変数の値Com_prepare_sql
、Com_execute_sql
、およびCom_dealloc_sql
は、PREPARE
、EXECUTE
、およびDEALLOCATE PREPARE
ステートメントに対して増加します。Com_stmt_fetch
はカーソルからフェッチしたときに発行されるネットワーク往復の合計回数のことです。Com_stmt_reprepare
は、サーバーによってステートメントが自動的に再準備された回数を示します。たとえば、ステートメントによって参照されるテーブルまたはビューに対するメタデータ変更の後です。 再作成操作はCom_stmt_reprepare
およびCom_stmt_prepare
を増加させます。Com_explain_other
は、実行されたEXPLAIN FOR CONNECTION
ステートメントの数を示します。 セクション8.8.4「名前付き接続の実行計画情報の取得」を参照してください。Com_change_repl_filter
は、実行されたCHANGE REPLICATION FILTER
ステートメントの数を示します。 -
クライアント接続で、クライアント/サーバープロトコルの圧縮を使用するかどうか。
MySQL 8.0.18 では、このステータス変数は非推奨です。将来のバージョンの MySQL で削除される予定です。 レガシー接続圧縮の構成を参照してください。
-
サーバーへの現在の接続に使用される圧縮アルゴリズムの名前。 値には、
protocol_compression_algorithms
システム変数の値で許可されている任意のアルゴリズムを指定できます。 たとえば、接続で圧縮が使用されていない場合、値はuncompressed
になり、接続でzlib
アルゴリズムが使用されている場合はzlib
になります。詳細は、セクション4.2.8「接続圧縮制御」を参照してください。
この変数は MySQL 8.0.18 で追加されました。
-
サーバーへの現在の接続に使用される圧縮レベル。 この値は、
zlib
接続の場合は 6 (デフォルトのzlib
アルゴリズム圧縮レベル)、zstd
接続の場合は 1 から 22、uncompressed
接続の場合は 0 です。詳細は、セクション4.2.8「接続圧縮制御」を参照してください。
この変数は MySQL 8.0.18 で追加されました。
-
これらの変数は、クライアント接続プロセス中に発生したエラーについての情報を提供します。 これらはグローバル専用で、すべてのホストからの接続全体で集計したエラー数を表します。 これらの変数は、ホストキャッシュによって説明されないエラーを追跡し (セクション5.1.12.3「DNS ルックアップとホストキャッシュ」を参照してください)、たとえば、TCP 接続に関連付けられないエラーや、接続プロセスのきわめて早期に (IP アドレスが既知となる前も含めて) 発生するエラー、または特定の IP アドレスに固有でない (メモリー不足の状況などの) エラーなどです。
-
リスニングポートでの
accept()
への呼び出し中に発生したエラーの数。 -
新しいスレッドの開始のエラーやメモリー不足状況など、サーバーの内部エラーが原因で拒否された接続の数。
-
Connection_errors_max_connections
サーバーの
max_connections
制限に到達したため拒否された接続の数。 -
Connection_errors_peer_address
クライアント IP アドレスへの接続の検索中に発生したエラーの数。
-
リスニングポートでの
select()
またはpoll()
への呼び出し中に発生したエラーの数。 (この操作に失敗したことは、クライアント接続が拒否されたことを必ずしも意味しません。) -
libwrap
ライブラリによって拒否された接続の数。
-
-
MySQL Server への (成功またはそれ以外の) 接続の試行数。
-
ステートメントの実行中にサーバーによって作成された、ディスク上の内部一時テーブルの数。
作成されたディスク上の内部一時テーブルの数と作成された内部一時テーブルの合計数を比較するには、
Created_tmp_disk_tables
とCreated_tmp_tables
の値を比較します。注記既知の制限のため、
Created_tmp_disk_tables
ではメモリーマップファイルに作成されたディスク上の一時テーブルはカウントされません。 デフォルトでは、TempTable ストレージエンジンオーバーフローメカニズムは、メモリーマップされたファイルに内部一時テーブルを作成します。 この動作は、デフォルトで有効になっているtemptable_use_mmap
変数によって制御されます。セクション8.4.4「MySQL での内部一時テーブルの使用」も参照してください。
-
mysqld が生成した一時ファイルの数。
-
ステートメントの実行中にサーバーによって作成された、内部一時テーブルの数。
作成されたディスク上の内部一時テーブルの数と作成された内部一時テーブルの合計数を比較するには、
Created_tmp_disk_tables
とCreated_tmp_tables
の値を比較します。セクション8.4.4「MySQL での内部一時テーブルの使用」も参照してください。
SHOW STATUS
ステートメントを呼び出すたびに内部一時テーブルが使用され、グローバルのCreated_tmp_tables
値が増加します。 -
サーバーが新しい接続に使用する SSL コンテキスト内のアクティブな
ssl_ca
値。 システム変数が変更されたが、コンテキスト関連のシステム変数値から SSL コンテキストを再構成し、対応するステータス変数を更新するためにALTER INSTANCE RELOAD TLS
が実行されていない場合、このコンテキスト値は現在のssl_ca
システム変数値と異なる可能性があります。 (この潜在的な値の違いは、対応する各コンテキスト関連のシステム変数とステータス変数のペアに適用されます。 サーバー側のランタイム構成および暗号化された接続の監視を参照してください。)この変数は MySQL 8.0.16 で追加されました。
MySQL 8.0.21 の時点では、
Current_tls_
ステータス変数の値はパフォーマンススキーマxxx
tls_channel_status
テーブルからも使用できます。 セクション27.12.19.11「tls_channel_status テーブル」を参照してください。 -
サーバーが新しい接続に使用する TSL コンテキスト内のアクティブな
ssl_capath
値。 このステータス変数とそれに対応するシステム変数の関係に関するノートは、Current_tls_ca
の説明を参照してください。この変数は MySQL 8.0.16 で追加されました。
-
サーバーが新しい接続に使用する TSL コンテキスト内のアクティブな
ssl_cert
値。 このステータス変数とそれに対応するシステム変数の関係に関するノートは、Current_tls_ca
の説明を参照してください。この変数は MySQL 8.0.16 で追加されました。
-
サーバーが新しい接続に使用する TSL コンテキスト内のアクティブな
ssl_cipher
値。 このステータス変数とそれに対応するシステム変数の関係に関するノートは、Current_tls_ca
の説明を参照してください。この変数は MySQL 8.0.16 で追加されました。
-
サーバーが新しい接続に使用する TSL コンテキスト内のアクティブな
tls_ciphersuites
値。 このステータス変数とそれに対応するシステム変数の関係に関するノートは、Current_tls_ca
の説明を参照してください。この変数は MySQL 8.0.16 で追加されました。
-
サーバーが新しい接続に使用する TSL コンテキスト内のアクティブな
ssl_crl
値。 このステータス変数とそれに対応するシステム変数の関係に関するノートは、Current_tls_ca
の説明を参照してください。この変数は MySQL 8.0.16 で追加されました。
-
サーバーが新しい接続に使用する TSL コンテキスト内のアクティブな
ssl_crlpath
値。 このステータス変数とそれに対応するシステム変数の関係に関するノートは、Current_tls_ca
の説明を参照してください。この変数は MySQL 8.0.16 で追加されました。
-
サーバーが新しい接続に使用する TSL コンテキスト内のアクティブな
ssl_key
値。 このステータス変数とそれに対応するシステム変数の関係に関するノートは、Current_tls_ca
の説明を参照してください。この変数は MySQL 8.0.16 で追加されました。
-
サーバーが新しい接続に使用する TSL コンテキスト内のアクティブな
tls_version
値。 このステータス変数とそれに対応するシステム変数の関係に関するノートは、Current_tls_ca
の説明を参照してください。この変数は MySQL 8.0.16 で追加されました。
-
このステータス変数は非推奨です (
DELAYED
の挿入はサポートされていないため)。将来のリリースで削除される予定です。 -
このステータス変数は非推奨です (
DELAYED
の挿入はサポートされていないため)。将来のリリースで削除される予定です。 -
このステータス変数は非推奨です (
DELAYED
の挿入はサポートされていないため)。将来のリリースで削除される予定です。 -
dragnet.log_error_filter_rules
システム変数への最新の代入の結果。このような代入が行われていない場合は空です。この変数は MySQL 8.0.12 で追加されました。
-
パフォーマンススキーマ
error_log
テーブルで現在使用されているバイト数。 たとえば、新しいイベントが古いイベントを破棄するまで収まらないが、新しいイベントが古いイベントよりも小さい場合は、値を減らすことができます。この変数は MySQL 8.0.22 で追加されました。
-
パフォーマンススキーマ
error_log
テーブルに現在存在するイベントの数。Error_log_buffered_bytes
と同様に、値を減らすことができます。この変数は MySQL 8.0.22 で追加されました。
-
新しいイベント用の領域を確保するためにパフォーマンススキーマ
error_log
テーブルから破棄されたイベントの数。この変数は MySQL 8.0.22 で追加されました。
-
パフォーマンススキーマ
error_log
テーブルへの最後の書き込みの時間。この変数は MySQL 8.0.22 で追加されました。
-
ユーザーが
FLUSH TABLES
ステートメントを実行したか、内部のサーバー動作が原因で、サーバーがテーブルをフラッシュする回数。 これはCOM_REFRESH
パケットの受信によっても増加します。 これはCom_flush
とは対照的で、FLUSH TABLES
、FLUSH LOGS
などのいずれかのFLUSH
ステートメントが実行された回数を示します。 -
group_replication_primary_member
グループがシングルプライマリモードで動作している場合、プライマリメンバー UUID を表示します。 グループがマルチプライマリモードで動作している場合は、空の文字列が表示されます。
group_replication_primary_member
ステータス変数は非推奨であり、将来のバージョンで削除される予定です。 -
内部
COMMIT
ステートメントの数。 -
テーブルから行が削除された回数。
-
サーバーは
external_lock()
関数への呼び出しごとにこの変数を増加し、この呼び出しは通常、テーブルインスタンスへのアクセスの最初と最後に発生します。 ストレージエンジンによって相違がある場合があります。 この変数は、たとえばパーティション化されたテーブルにアクセスするステートメントについて、ロックが発生する前に削除されたパーティション数を検出するために使用されます。ステートメントについてカウンタがいくら増加したかを確認し、2 を減算し (テーブルそのものに対する 2 件の呼び出し)、2 で除算して、ロックされたパーティション数を取得します。 -
サーバーがテーブルへのアクセスでストレージエンジン独自の Multi-Range Read 実装を使用する回数。
-
2 フェーズコミット操作の準備フェーズのカウンタ。
-
インデックスの最初のエントリが読み取られた回数。 この値が大きい場合は、サーバーが大量の全インデックススキャンを実行していることを推奨します (
col1
がインデックス付けされていると仮定したSELECT col1 FROM foo
など)。 -
キーに基づいて行を読み取るリクエスト数。 この値が高いことは、クエリーに対してテーブルが適切にインデックス付けされていることのよい目安になります。
-
インデックスの最後のキーを読み取るリクエスト数。
ORDER BY
では、サーバーは最初のキーリクエストの後にいくつかの次のキーリクエストを発行しますが、ORDER BY DESC
では、最後のキーリクエストの後にいくつかの前のキーリクエストを発行します。 -
キー順で次の行の読み取りリクエスト数。 この値は、範囲制約を持つインデックスカラムにクエリーを実行するか、インデックススキャンを実行する場合に増加します。
-
キー順で前の行の読み取りリクエスト数。 この読み取り方法は、
ORDER BY ... DESC
を最適化するために主に使用されます。 -
固定された位置に基づいた行読み取りリクエスト数。 この値は、結果のソートが必要となる多くのクエリーを実行する場合に高くなります。 MySQL がテーブル全体をスキャンする必要がある多くのクエリーが存在する可能性があるか、キーが適切に使用されない結合があります。
-
データファイル内で次の行の読み取りリクエスト数。 多くのテーブルスキャンを実行すると、この値は高くなります。 一般的に、これはテーブルが正しくインデックス付けされていないか、作成したインデックスを利用するようにクエリーが記述されていないことを示します。
-
ロールバック操作を実行するためのストレージエンジンのリクエスト数。
-
セーブポイントを配置するためのストレージエンジンへのリクエスト数。
-
セーブポイントをロールバックするためのストレージエンジンへのリクエスト数。
-
テーブルの行更新リクエスト数。
-
テーブルへの行挿入リクエスト数。
-
Innodb_buffer_pool_dump_status
InnoDB
バッファープールに保持されるページを記録するための操作の進捗状況で、innodb_buffer_pool_dump_at_shutdown
またはinnodb_buffer_pool_dump_now
の設定によってトリガーされます。関連する情報と例については、セクション15.8.3.6「バッファープールの状態の保存と復元」を参照してください。
-
Innodb_buffer_pool_load_status
以前の時点のものに対応するページのセットを読み取ることによって、
InnoDB
バッファープールをウォームアップする操作の進捗状況で、innodb_buffer_pool_load_at_startup
またはinnodb_buffer_pool_load_now
の設定によってトリガーされます。 操作によってもたらされるオーバーヘッドが多すぎる場合、innodb_buffer_pool_load_abort
を設定すると取り消しできます。関連する情報と例については、セクション15.8.3.6「バッファープールの状態の保存と復元」を参照してください。
-
データを含む
InnoDB
バッファープール内のバイトの総数。 ダーティーページとクリーンページの両方が含まれます。 圧縮テーブルによってバッファープールが異なるサイズのページを保持する場合に、Innodb_buffer_pool_pages_data
を使用するよりも正確なメモリー使用量を計算するために使用します。 -
データを含む
InnoDB
バッファープール内のページ数。 ダーティーページとクリーンページの両方が含まれます。 compressed tables を使用している場合、レポートされるInnodb_buffer_pool_pages_data
値がInnodb_buffer_pool_pages_total
より大きい可能性があります (Bug #59550)。 -
Innodb_buffer_pool_bytes_dirty
InnoDB
バッファープール内のダーティーページに保持されている現在の合計バイト数。 圧縮テーブルによってバッファープールが異なるサイズのページを保持する場合に、Innodb_buffer_pool_pages_dirty
を使用するよりも正確なメモリー使用量を計算するために使用します。 -
Innodb_buffer_pool_pages_dirty
-
Innodb_buffer_pool_pages_flushed
-
Innodb_buffer_pool_pages_latched
InnoDB
バッファープール内のラッチされたページの数。 これらは現在読み取りまたは書き込み中であるか、ほかの何らかの理由でフラッシュまたは削除できないページです。 この変数の計算にはコストがかかるため、UNIV_DEBUG
システムがサーバー構築時に定義される場合のみ利用できます。 -
行ロックやアダプティブハッシュインデックスなど、管理オーバーヘッドに割り当てられているためビジー状態になっている、
InnoDB
バッファープール内のページ数。 この値はInnodb_buffer_pool_pages_total
−Innodb_buffer_pool_pages_free
−Innodb_buffer_pool_pages_data
として計算することもできます。 compressed tables を使用している場合、Innodb_buffer_pool_pages_misc
で範囲外の値が報告されることがあります (Bug #59550)。 -
Innodb_buffer_pool_pages_total
InnoDB
バッファープールの合計サイズ (ページ単位)。 compressed tables を使用している場合、レポートされるInnodb_buffer_pool_pages_data
値がInnodb_buffer_pool_pages_total
より大きい可能性があります (Bug #59550) -
Innodb_buffer_pool_read_ahead_evicted
クエリーによってアクセスされずにあとで消去された先読みバックグラウンドスレッドによって
InnoDB
バッファープールに読み取られたページ数。 -
Innodb_buffer_pool_read_ahead_rnd
InnoDB
によって開始された 「random」 先読みの数。 これは、クエリーがテーブルの大部分をランダムな順序でスキャンする場合に発生します。 -
Innodb_buffer_pool_read_requests
論理読み取りリクエスト数。
-
InnoDB
がバッファープールから満たすことができず、ディスクから直接読み取る必要があった論理読み取りの数。 -
Innodb_buffer_pool_resize_status
InnoDB
buffer pool を動的にサイズ変更する操作のステータスで、innodb_buffer_pool_size
パラメータを動的に設定することによってトリガーされます。innodb_buffer_pool_size
パラメータは動的で、サーバーを再起動せずにバッファプールのサイズを変更できます。 関連情報については、オンラインでの InnoDB バッファープールサイズの構成を参照してください。 -
通常は、
InnoDB
バッファープールへの書き込みは、バックグラウンドで行われます。InnoDB
がページを読み取るか作成する必要があって、クリーンページが利用できない場合、InnoDB
は一部のダーティーページを最初にフラッシュし、その操作の完了まで待機します。 このカウンタはこれらの待機のインスタンスをカウントします。innodb_buffer_pool_size
が適切に設定されていれば、この値は小さくなります。 -
Innodb_buffer_pool_write_requests
InnoDB
バッファープールに対して実行される書き込みの数。 -
これまでの
fsync()
操作数。fsync()
呼び出しの頻度はinnodb_flush_method
構成オプションの設定に影響されます。 -
現在保留中の
fsync()
操作の数。fsync()
呼び出しの頻度はinnodb_flush_method
構成オプションの設定に影響されます。 -
現在保留中の読み取りの数。
-
現在保留中の書き込み数。
-
サーバーの起動後に読み取られたデータ量 (バイト単位)。
-
データ読取り (OS ファイル読取り) の合計数。
-
データ書き込みの合計数。
-
これまでに書き込まれたデータ量 (バイト単位)。
-
ダブル書き込みバッファーに書き込まれたページ数。 セクション15.11.1「InnoDB ディスク I/O」を参照してください。
-
実行されたダブル書き込み操作の数。 セクション15.11.1「InnoDB ディスク I/O」を参照してください。
-
サーバーがアトミック命令で構築されたかどうかを示します。
-
The number of times that the ログバッファーが小さすぎるため、続行する前にフラッシュするために待機が必要だった回数。
-
InnoDB
Redo ログの書き込みリクエストの数。 -
InnoDB
Redo ログファイルへの物理書き込みの数。 -
InnoDB
で現在開いたままになっているファイルの数。 -
InnoDB
Redo ログファイルに対して実行されるfsync()
書き込みの数。 -
InnoDB
Redo ログファイルに対する保留中のfsync()
操作の数。 -
InnoDB
Redo ログファイルに対する保留中の書き込み数。 -
InnoDB
Redo ログファイルに書き込まれたバイト数。 -
InnoDB
のページサイズ (デフォルトは 16K バイト)。 ページには多くの値がカウントされ、ページサイズは簡単にバイトに換算できます。 -
InnoDB
テーブルの操作によって作成されるページ数。 -
InnoDB
テーブルに対する操作によってInnoDB
バッファプールから読み取られたページ数。 -
InnoDB
テーブルの操作によって書き込まれるページ数。 -
redo ロギングが有効か無効か。 MySQL 8.0.21 で導入されました。
redo ロギングの無効化を参照してください。
-
InnoDB
テーブルの操作によって現在待機中の行ロックの数。 -
InnoDB
テーブルの行ロックの取得に要した合計時間 (ミリ秒単位)。 -
InnoDB
テーブルの行ロックの取得に要した平均時間 (ミリ秒)。 -
InnoDB
テーブルの行ロックの取得に要した最大時間 (ミリ秒)。 -
InnoDB
テーブル上の操作が行ロックを待機した回数。 -
InnoDB
テーブルから削除された行数。 -
InnoDB
テーブルに挿入された行数。 -
InnoDB
テーブルから読み取られた行数。 -
InnoDB
テーブル内で更新された行数。 -
システム作成スキーマに属する
InnoDB
テーブルから削除された行数。 -
システム作成スキーマに属する
InnoDB
テーブルに挿入された行数。 -
システム作成スキーマに属する
InnoDB
テーブルから読み取られた行数。 -
Innodb_truncated_status_writes
SHOW ENGINE INNODB STATUS
ステートメントからの出力が切り捨てられた回数。 -
Innodb_undo_tablespaces_active
アクティブな undo テーブルスペースの数。 暗黙的 undo テーブルスペース (
InnoDB
作成) と明示的 undo テーブルスペース (ユーザー作成) の両方が含まれます。 undo テーブルスペースの詳細は、セクション15.6.3.4「undo テーブルスペース」 を参照してください。 -
Innodb_undo_tablespaces_explicit
ユーザー作成 undo テーブルスペースの数。 undo テーブルスペースの詳細は、セクション15.6.3.4「undo テーブルスペース」 を参照してください。
-
Innodb_undo_tablespaces_implicit
InnoDB
によって作成された undo テーブルスペースの数。 MySQL インスタンスの初期化時に、InnoDB
によって 2 つのデフォルト undo テーブルスペースが作成されます。 undo テーブルスペースの詳細は、セクション15.6.3.4「undo テーブルスペース」 を参照してください。 -
undo テーブルスペースの合計数。 アクティブおよび非アクティブな暗黙的な undo テーブルスペース (
InnoDB
作成) と明示的な undo テーブルスペース (ユーザー作成) の両方が含まれます。 undo テーブルスペースの詳細は、セクション15.6.3.4「undo テーブルスペース」 を参照してください。 -
変更されたがまだディスクにフラッシュされていない
MyISAM
キーキャッシュ内のキーブロック数。 -
MyISAM
キーキャッシュ内の未使用ブロック数。 この値を使用して、使用中のキーキャッシュの量を判別できます。セクション5.1.8「サーバーシステム変数」のkey_buffer_size
に関する説明を参照してください。 -
MyISAM
キーキャッシュ内の使用済みブロック数。 この値は、一度に使用された今までの最大ブロック数を示す高位境界値です。 -
MyISAM
キーキャッシュからキーブロックを読み取るリクエスト数。 -
ディスクから
MyISAM
キーキャッシュへのキーブロックの物理的な読み取りの数。Key_reads
が大きい場合、key_buffer_size
の値が小さすぎる可能性があります。 キャッシュミス率はKey_reads
/Key_read_requests
と計算できます。 -
MyISAM
キーキャッシュにキーブロックを書き込むリクエスト数。 -
MyISAM
キーキャッシュからディスクへのキーブロックの物理的な書き込みの数。 -
クエリーオプティマイザによって計算された、最後にコンパイルされたクエリーの合計コスト。 これは同じクエリーに対して異なるクエリー計画のコストを比較するために役立ちます。 デフォルト値の 0 は、クエリーがまだコンパイルされていないことを意味します。 デフォルト値は 0 です。
Last_query_cost
はセッションスコープを持ちます。MySQL 8.0.16 以降では、この変数は、複数のクエリーブロックを持つクエリーのコストを表示し、各クエリーブロックのコスト見積りを合計して、キャッシュ不可能なサブクエリーが実行される回数を見積もり、それらのクエリーブロックのコストにサブクエリー実行の数を乗算します。 (Bug #92766、Bug #28786951) MySQL 8.0.16 より前は、
Last_query_cost
は単純な「「フラット」」クエリーに対してのみ正確に計算されましたが、サブクエリーやUNION
を含むクエリーなどの複雑なクエリーに対しては計算されませんでした。 (後者の場合、値は 0 に設定されています。) -
クエリーオプティマイザが前のクエリーの実行計画の構築で実行した反復数。
Last_query_cost
はセッションスコープを持ちます。 -
ロックされたユーザーアカウントへの接続試行回数。 アカウントのロックおよびロック解除の詳細は、セクション6.2.19「アカウントロック」 を参照してください。
-
実行タイムアウトを超えた
SELECT
ステートメントの数。 -
ゼロ以外の実行タイムアウトが設定された
SELECT
ステートメントの数。 これには、ゼロ以外のMAX_EXECUTION_TIME
オプティマイザヒントを含むステートメント、およびそのようなヒントを含まないがmax_execution_time
システム変数で示されるタイムアウトがゼロ以外の場合に実行されるステートメントが含まれます。 -
実行タイムアウトを設定しようとして失敗した
SELECT
ステートメントの数。 -
サーバーが開始されてから同時に使用された接続の最大数。
-
Max_used_connections
が現在の値に達した時刻。 -
このステータス変数は非推奨です (
DELAYED
の挿入はサポートされていないため)。将来のリリースで削除される予定です。 -
MeCab 全文パーサープラグインで現在使用されている文字セット。 関連情報については、セクション12.10.9「MeCab フルテキストパーサープラグイン」を参照してください。
-
Ongoing_anonymous_transaction_count
匿名としてマークされた進行中のトランザクションの数を表示します。 これを使用すると、これ以上のトランザクションが処理を待機していないことを確認できます。
-
Ongoing_anonymous_gtid_violating_transaction_count
このステータス変数は、デバッグビルドでのみ使用できます。
gtid_next=ANONYMOUS
を使用し、GTID 整合性に違反する進行中のトランザクションの数を表示します。 -
Ongoing_automatic_gtid_violating_transaction_count
このステータス変数は、デバッグビルドでのみ使用できます。
gtid_next=AUTOMATIC
を使用し、GTID 整合性に違反する進行中のトランザクションの数を表示します。 -
開いているファイルの数。 このカウントにはサーバーによって開いた通常のファイルが含まれます。 ソケットやパイプなどのほかのタイプのファイルは含まれません。 またこのカウントには、サーバーレベルに実行を依頼するのではなく、ストレージエンジンがそれら独自の内部関数を使用して開いたファイルは含まれません。
-
開いているストリーム数 (主にロギングに使用)。
-
キャッシュされたテーブル定義の数。
-
開いているテーブルの数。
-
my_open()
(mysys
ライブラリ関数) によって開いたファイルの数。 この関数を使用せずにファイルを開くサーバーの一部は、カウントを増加させません。 -
キャッシュされたテーブル定義の数。
-
開いているテーブル数。
Opened_tables
の値が大きい場合、table_open_cache
の値が小さいすぎる可能性があります。 -
Performance_schema_
xxx
パフォーマンススキーマのステータス変数は、セクション27.16「パフォーマンススキーマステータス変数」にリストされています。 これらの変数は、メモリー制約のためロードまたは作成できないにインストゥルメンテーションついての情報を提供します。
-
現在のプリペアドステートメントの数。 (ステートメントの最大数は、
max_prepared_stmt_count
システム変数によって指定されます。) -
サーバーによって実行されたステートメントの数。 この変数は
Questions
変数と異なり、ストアドプロシージャー内で実行されるステートメントを含みます。COM_PING
またはCOM_STATISTICS
コマンドをカウントしません。このセクションの最初の説明では、このステートメントカウントステータス変数をこのようなほかの変数に関連付ける方法を示します。
-
サーバーによって実行されたステートメントの数。 これは
Queries
変数とは異なり、クライアントによってサーバーに送信されたステートメントのみを含み、ストアドプロシージャー内で実行されたステートメントは含みません。 この変数は、COM_PING
、COM_STATISTICS
、COM_STMT_PREPARE
、COM_STMT_CLOSE
、またはCOM_STMT_RESET
コマンドをカウントしません。このセクションの最初の説明では、このステートメントカウントステータス変数をこのようなほかの変数に関連付ける方法を示します。
-
準同期レプリカの数。
この変数は、ソース側の準同期レプリケーションプラグインがインストールされている場合にのみ使用できます。
-
Rpl_semi_sync_master_net_avg_wait_time
ソースがレプリカ応答を待機した平均時間 (マイクロ秒)。 この変数は常に
0
であり、非推奨です。将来のバージョンで削除される予定です。この変数は、ソース側の準同期レプリケーションプラグインがインストールされている場合にのみ使用できます。
-
Rpl_semi_sync_master_net_wait_time
ソースがレプリカ応答を待機した合計時間 (マイクロ秒)。 この変数は常に
0
であり、非推奨です。将来のバージョンで削除される予定です。この変数は、ソース側の準同期レプリケーションプラグインがインストールされている場合にのみ使用できます。
-
Rpl_semi_sync_master_net_waits
ソースがレプリカ応答を待機した合計回数。
この変数は、ソース側の準同期レプリケーションプラグインがインストールされている場合にのみ使用できます。
-
ソースが準同期レプリケーションをオフにした回数。
この変数は、ソース側の準同期レプリケーションプラグインがインストールされている場合にのみ使用できます。
-
レプリカによって正常に確認されなかったコミットの数。
この変数は、ソース側の準同期レプリケーションプラグインがインストールされている場合にのみ使用できます。
-
準同期レプリケーションが現在ソースで動作しているかどうか。 プラグインが有効で、コミット認証が発生した場合、この値は
ON
です。 これは、プラグインが有効になっていないか、コミット確認タイムアウトのためにソースが非同期レプリケーションにフォールバックした場合のOFF
です。この変数は、ソース側の準同期レプリケーションプラグインがインストールされている場合にのみ使用できます。
-
Rpl_semi_sync_master_timefunc_failures
gettimeofday()
などの時間関数のコール時にソースが失敗した回数。この変数は、ソース側の準同期レプリケーションプラグインがインストールされている場合にのみ使用できます。
-
Rpl_semi_sync_master_tx_avg_wait_time
ソースが各トランザクションを待機した平均時間 (マイクロ秒)。
この変数は、ソース側の準同期レプリケーションプラグインがインストールされている場合にのみ使用できます。
-
Rpl_semi_sync_master_tx_wait_time
ソースがトランザクションを待機した合計時間 (マイクロ秒)。
この変数は、ソース側の準同期レプリケーションプラグインがインストールされている場合にのみ使用できます。
-
ソースがトランザクションを待機した合計回数。
この変数は、ソース側の準同期レプリケーションプラグインがインストールされている場合にのみ使用できます。
-
Rpl_semi_sync_master_wait_pos_backtraverse
バイナリ座標が以前に待機したイベントより小さいイベントをソースが待機した合計回数。 これは、トランザクションが応答の待機を開始した順序が、バイナリログイベントが書き込まれた順序と異なる場合に発生することがあります。
この変数は、ソース側の準同期レプリケーションプラグインがインストールされている場合にのみ使用できます。
-
Rpl_semi_sync_master_wait_sessions
レプリカ応答を現在待機しているセッションの数。
この変数は、ソース側の準同期レプリケーションプラグインがインストールされている場合にのみ使用できます。
-
レプリカによって正常に確認されたコミットの数。
この変数は、ソース側の準同期レプリケーションプラグインがインストールされている場合にのみ使用できます。
-
準同期レプリケーションが現在レプリカで動作しているかどうか。 これは、プラグインが有効化され、レプリケーション I/O スレッドが実行されている場合は
ON
、それ以外の場合はOFF
です。この変数は、レプリカ側の準同期レプリケーションプラグインがインストールされている場合にのみ使用できます。
-
この変数の値は、RSA キーペアベースのパスワード交換用の
sha256_password
認証プラグインで使用される公開キーです。 この値は、sha256_password_private_key_path
およびsha256_password_public_key_path
システム変数によって名前が指定されるファイル内の秘密鍵および公開鍵をサーバーが正常に初期化した場合のみ空ではありません。Rsa_public_key
の値は後者のファイルから得られます。sha256_password
については、セクション6.4.1.3「SHA-256 プラガブル認証」を参照してください。 -
Secondary_engine_execution_count
セカンダリエンジンにオフロードされたクエリーの数。 この変数は MySQL 8.0.13 で追加されました。
HeatWave で使用します。 MySQL HeatWave User Guide を参照してください。
-
インデックスを使用しないためテーブルスキャンを実行する結合の数。 この値が 0 でない場合、テーブルのインデックスを慎重に検査してください。
-
参照テーブル上で範囲検索を使用した結合の数。
-
最初のテーブルの範囲が使用された結合の数。 値がきわめて大きい場合でも、これは通常重大な問題ではありません。
-
各行のあとにキーの使用法がチェックされるキーなしの結合数。 これが 0 でない場合、テーブルのインデックスを慎重に検査してください。
-
最初のテーブルのフルスキャンが実行された結合の数。
-
レプリケーション SQL スレッドが現在オープンしている一時テーブルの数。 値がゼロより大きい場合は、レプリカを安全に停止できません。セクション17.5.1.31「レプリケーションと一時テーブル」 を参照してください。 この変数は、all レプリケーションチャネルのオープン一時テーブルの合計数をレポートします。
-
Slave_rows_last_search_algorithm_used
このレプリカが行ベースレプリケーション用の行を検索するために最後に使用した検索アルゴリズム。 結果には、チャネルで最後に実行されたトランザクションの検索アルゴリズムとして、レプリカがインデックス、テーブルスキャンまたはハッシュを使用したかどうかが表示されます。
使用される方法は、
slave_rows_search_algorithms
システム変数の設定、および関連するテーブルで使用可能なキーによって異なります。この変数は、MySQL のデバッグビルドでのみ使用できます。
-
作成に要した時間が
slow_launch_time
秒を超えたスレッドの数。 -
long_query_time
秒よりも時間を要したクエリーの数。 このカウンタは、スロークエリーログが有効かどうかに関係なく増加します。 このログについては、セクション5.4.5「スロークエリーログ」を参照してください。 -
ソートアルゴリズムが実行する必要があったマージパスの数。 この値が大きい場合、
sort_buffer_size
システム変数を増やすことを検討してください。 -
範囲を使用して実行されたソートの数。
-
ソートされた行の数。
-
テーブルをスキャンすることで実行されたソートの数。
-
接続を確立するために必要なネゴシエーションの数。
-
受け入れられた SSL 接続の数。
-
コールバックキャッシュのヒット数。
-
現在の暗号化暗号 (暗号化されていない接続の場合は空)。
-
利用可能な SSL 暗号のリスト (非 SSL 接続の場合は空)。 MySQL が TLSv1.3 をサポートしている場合、この値には使用可能な TLSv1.3 暗号スイートが含まれます。 セクション6.3.2「暗号化された接続 TLS プロトコルおよび暗号」を参照してください。
-
SSL 対応レプリケーションソースサーバーへの SSL 接続試行の数。
-
SSL 対応レプリケーションソースサーバーへの接続を確立するために必要なネゴシエーションの数。
-
SSL コンテキスト検証の深さ (テストされるチェーン内の証明書数)。
-
SSL コンテキスト検証モード。
-
デフォルトの SSL タイムアウト。
-
サーバーへの正常な SSL 接続数。
-
SSL 対応レプリケーションソースサーバーへの正常なレプリカ接続の数。
-
SSL 証明書が有効な最終日。 SSL 証明書の有効期限情報を確認するには、次のステートメントを使用します:
mysql> SHOW STATUS LIKE 'Ssl_server_not%'; +-----------------------+--------------------------+ | Variable_name | Value | +-----------------------+--------------------------+ | Ssl_server_not_after | Apr 28 14:16:39 2025 GMT | | Ssl_server_not_before | May 1 14:16:39 2015 GMT | +-----------------------+--------------------------+
-
SSL 証明書が有効な最初の日。
-
SSL セッションキャッシュのヒット数。
-
SSL セッションキャッシュのミス数。
-
SSL セッションキャッシュモード。
-
SSL セッションキャッシュのオーバーフロー数。
-
SSL セッションキャッシュサイズ。
-
SSL セッションキャッシュのタイムアウト数。
-
キャッシュから再使用された SSL 接続の数。
-
Ssl_used_session_cache_entries
使用された SSL セッションキャッシュエントリの数。
-
レプリケーション SSL 接続の検証の深さ。
-
SSL を使用する接続のためにサーバーで使用される検証モード。 値はビットマスクです。ビットは
openssl/ssl.h
ヘッダーファイルで定義されます:# define SSL_VERIFY_NONE 0x00 # define SSL_VERIFY_PEER 0x01 # define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02 # define SSL_VERIFY_CLIENT_ONCE 0x04
SSL_VERIFY_PEER
は、サーバーがクライアント証明書を要求することを示します。 クライアントが提供する場合、サーバーは検証を実行し、検証が成功した場合にのみ続行します。SSL_VERIFY_CLIENT_ONCE
は、クライアント証明書のリクエストが最初のハンドシェイクでのみ実行されることを示します。 -
接続の SSL プロトコルバージョン (TLSv1 など)。 接続が暗号化されていない場合、値は空です。
-
テーブルロックのリクエストが即座に付与された回数。
-
テーブルロックのリクエストが即座に付与されず、待機が必要だった回数。 これが高く、パフォーマンスに問題がある場合、最初にクエリーを最適化し、次に 1 つ以上のテーブルを分割するか、レプリケーションを使用してください。
-
開いたテーブルのキャッシュルックアップのヒット数。
-
開いたテーブルのキャッシュルックアップのミス数。
-
開いたテーブルのキャッシュのオーバーフロー数。 これはテーブルが開くか閉じたあとにキャッシュインスタンスが未使用のエントリを持ち、インスタンスのサイズが
table_open_cache
/table_open_cache_instances
より大きい場合の回数です。 -
この変数は、mysqld が内部の XA トランザクションのリカバリのためのトランザクションコーディネータとしての役割を果たすとき、mysqld によって使用されるログのメモリーマップ実装に対して、サーバーが起動してからログに使用された最大のページ数を示します。
Tc_log_max_pages_used
とTc_log_page_size
の積が常にログサイズよりも極端に小さい場合、そのサイズが必要以上に大きいため削減できます。 (このサイズは--log-tc-size
オプションで指定できます。 この変数は未使用です: バイナリログベースのリカバリでは不要であり、2 フェーズのコミットが可能で XA トランザクションをサポートするストレージエンジンの数が複数の場合を除き、メモリーマップされたリカバリログ方式は使用されません。 (InnoDB
のみが該当するエンジンです。) -
XA リカバリログのメモリーマップ実装に使用されるページサイズ。 デフォルト値は
getpagesize()
を使用して決定されます。 この変数は、Tc_log_max_pages_used
で説明されているのと同じ理由で未使用です。 -
この変数は、リカバリログのメモリーマップ実装で、サーバーがトランザクションをコミットできず、ログ内の空きページを待機する必要がある場合に毎回増加します。 この値が大きい場合、(
--log-tc-size
オプションで) ログサイズを増加した方がよい場合もあります。 この変数は、バイナリログベースのリカバリで、2 フェーズコミットが進行中のためバイナリログをクローズできない場合に毎回増加します。 (クローズ操作は、このようなトランザクションがすべて終了するまで待機します。) -
スレッドキャッシュ内のスレッド数。
-
現在開いている接続の数。
-
接続を処理するために作成されたスレッドの数。
Threads_created
が大きい場合、thread_cache_size
の値を大きくした方がよい場合もあります。 キャッシュミス率はThreads_created
/Connections
として計算できます。 -
スリープ状態ではないスレッド数。
-
サーバーが作動している秒数。
-
最新の
FLUSH STATUS
ステートメントの秒数。