SHOW [GLOBAL | SESSION] VARIABLES
[LIKE 'pattern' | WHERE expr]
SHOW VARIABLES
には、MySQL システム変数の値が表示されます (セクション5.1.8「サーバーシステム変数」 を参照)。 このステートメントにはどの権限も必要ありません。 これには、サーバーに接続できることのみが必要です。
システム変数情報は、次のソースからも入手できます:
パフォーマンススキーマ tables. セクション27.12.14「パフォーマンススキーマシステム変数テーブル」を参照してください。
mysqladmin variables コマンド。 セクション4.5.2「mysqladmin — A MySQL Server 管理プログラム」を参照してください。
SHOW VARIABLES
の場合、LIKE
句 (存在する場合) は一致させる変数名を示します。 セクション26.55「SHOW ステートメントの拡張」 で説明されているように、より一般的な条件を使用して行を選択するために WHERE
句を指定できます。
SHOW VARIABLES
は、オプションの GLOBAL
または SESSION
変数スコープ修飾子を受け入れます:
GLOBAL
修飾子を使用すると、ステートメントはグローバルシステム変数値を表示します。 これらは、MySQL への新規接続に対応するセッション変数の初期化に使用される値です。 変数にグローバル値がない場合、値は表示されません。SESSION
修飾子を使用すると、ステートメントは現在の接続で有効なシステム変数値を表示します。 変数にセッション値がない場合は、グローバル値が表示されます。LOCAL
はSESSION
のシノニムです。修飾子が存在しない場合、デフォルトは
SESSION
です。
各システム変数のスコープは、セクション5.1.8「サーバーシステム変数」 にリストされています。
SHOW VARIABLES
は、バージョンに依存する表示幅の制限に従います。 完全には表示されない非常に長い値を持つ変数の場合、回避策として SELECT
を使用します。 例:
SELECT @@GLOBAL.innodb_data_file_path;
ほとんどのシステム変数は、サーバーの起動時に設定できます (version_comment
などの読取り専用変数は例外です)。 多くは、SET
ステートメントを使用して実行時に変更できます。 セクション5.1.9「システム変数の使用」およびセクション13.7.6.1「変数代入の SET 構文」を参照してください。
部分的な出力を次に示します。 名前と値のリストは、サーバーによって異なる場合があります。セクション5.1.8「サーバーシステム変数」 では、各変数の意味について説明し、セクション5.1.1「サーバーの構成」 では、それらのチューニングに関する情報を提供します。
mysql> SHOW VARIABLES;
+--------------------------------------------+------------------------------+
| Variable_name | Value |
+--------------------------------------------+------------------------------+
| activate_all_roles_on_login | OFF |
| auto_generate_certs | ON |
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
| autocommit | ON |
| automatic_sp_privileges | ON |
| avoid_temporal_upgrade | OFF |
| back_log | 151 |
| basedir | /usr/ |
| big_tables | OFF |
| bind_address | * |
| binlog_cache_size | 32768 |
| binlog_checksum | CRC32 |
| binlog_direct_non_transactional_updates | OFF |
| binlog_error_action | ABORT_SERVER |
| binlog_expire_logs_seconds | 2592000 |
| binlog_format | ROW |
| binlog_group_commit_sync_delay | 0 |
| binlog_group_commit_sync_no_delay_count | 0 |
| binlog_gtid_simple_recovery | ON |
| binlog_max_flush_queue_time | 0 |
| binlog_order_commits | ON |
| binlog_row_image | FULL |
| binlog_row_metadata | MINIMAL |
| binlog_row_value_options | |
| binlog_rows_query_log_events | OFF |
| binlog_stmt_cache_size | 32768 |
| binlog_transaction_dependency_history_size | 25000 |
| binlog_transaction_dependency_tracking | COMMIT_ORDER |
| block_encryption_mode | aes-128-ecb |
| bulk_insert_buffer_size | 8388608 |
...
| max_allowed_packet | 67108864 |
| max_binlog_cache_size | 18446744073709547520 |
| max_binlog_size | 1073741824 |
| max_binlog_stmt_cache_size | 18446744073709547520 |
| max_connect_errors | 100 |
| max_connections | 151 |
| max_delayed_threads | 20 |
| max_digest_length | 1024 |
| max_error_count | 1024 |
| max_execution_time | 0 |
| max_heap_table_size | 16777216 |
| max_insert_delayed_threads | 20 |
| max_join_size | 18446744073709551615 |
...
| thread_handling | one-thread-per-connection |
| thread_stack | 286720 |
| time_zone | SYSTEM |
| timestamp | 1530906638.765316 |
| tls_version | TLSv1,TLSv1.1,TLSv1.2 |
| tmp_table_size | 16777216 |
| tmpdir | /tmp |
| transaction_alloc_block_size | 8192 |
| transaction_allow_batching | OFF |
| transaction_isolation | REPEATABLE-READ |
| transaction_prealloc_size | 4096 |
| transaction_read_only | OFF |
| transaction_write_set_extraction | XXHASH64 |
| unique_checks | ON |
| updatable_views_with_limit | YES |
| version | 8.0.12 |
| version_comment | MySQL Community Server - GPL |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
| version_compile_zlib | 1.2.11 |
| wait_timeout | 28800 |
| warning_count | 0 |
| windowing_use_high_precision | ON |
+--------------------------------------------+------------------------------+
LIKE
句を指定すると、このステートメントは、そのパターンに一致する名前を持つ変数の行のみを表示します。 特定の変数の行を取得するには、LIKE
句を次に示すように使用します。
SHOW VARIABLES LIKE 'max_join_size';
SHOW SESSION VARIABLES LIKE 'max_join_size';
名前がパターンと一致する変数のリストを取得するには、LIKE
句の中で %
のワイルドカード文字を使用します。
SHOW VARIABLES LIKE '%size%';
SHOW GLOBAL VARIABLES LIKE '%size%';
ワイルドカード文字は、照合されるパターン内のどの場所でも利用できます。 厳密に言えば、_
は単一の文字と一致するワイルドカードであるため、文字どおりに一致するように\_
としてエスケープする必要があります。 実際には、これはほとんど必要ありません。