SHOW [GLOBAL | SESSION] VARIABLES
[LIKE 'pattern' | WHERE expr]
SHOW VARIABLES
會顯示 MySQL 系統變數的值(請參閱第 7.1.8 節,「伺服器系統變數」)。此陳述式不需要任何權限。它只需要連線到伺服器的能力。
系統變數資訊也可以從以下來源取得:
對於 SHOW VARIABLES
,如果存在 LIKE
子句,則表示要比對的變數名稱。可以指定 WHERE
子句來使用更一般的條件選取資料列,如第 28.8 節,「SHOW 陳述式的延伸」中所述。
SHOW VARIABLES
接受可選的 GLOBAL
或 SESSION
變數範圍修飾符。
使用
GLOBAL
修飾符,此陳述式會顯示全域系統變數值。這些值用於初始化新連線到 MySQL 的對應工作階段變數。如果變數沒有全域值,則不會顯示值。使用
SESSION
修飾符,此陳述式會顯示目前連線生效的系統變數值。如果變數沒有工作階段值,則會顯示全域值。LOCAL
是SESSION
的同義詞。如果沒有修飾符,則預設為
SESSION
。
每個系統變數的範圍列於第 7.1.8 節,「伺服器系統變數」。
SHOW VARIABLES
受限於與版本相關的顯示寬度限制。對於未完全顯示的具有很長值的變數,請使用 SELECT
作為解決方法。例如:
SELECT @@GLOBAL.innodb_data_file_path;
大多數系統變數都可以在伺服器啟動時設定(唯讀變數(例如 version_comment
)是例外)。許多變數可以在執行階段使用 SET
陳述式來變更。請參閱第 7.1.9 節,「使用系統變數」和第 15.7.6.1 節,「用於變數指派的 SET 語法」。
此處顯示部分輸出。您的伺服器的名稱和值清單可能有所不同。第 7.1.8 節,「伺服器系統變數」說明每個變數的含義,第 7.1.1 節,「設定伺服器」提供了有關調整它們的資訊。
mysql> SHOW VARIABLES;
+-------------------------------------------------------+-----------------------+
| Variable_name | Value |
+-------------------------------------------------------+-----------------------+
| activate_all_roles_on_login | OFF |
| admin_address | |
| admin_port | 33062 |
| admin_ssl_ca | |
| admin_ssl_capath | |
| admin_ssl_cert | |
| admin_ssl_cipher | |
| admin_ssl_crl | |
| admin_ssl_crlpath | |
| admin_ssl_key | |
| admin_tls_ciphersuites | |
| admin_tls_version | TLSv1.2,TLSv1.3 |
| authentication_policy | *,, |
| 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 | /local/mysql-8.4/ |
| big_tables | OFF |
| bind_address | 127.0.0.1 |
| binlog_cache_size | 32768 |
| binlog_checksum | CRC32 |
| binlog_direct_non_transactional_updates | OFF |
| binlog_encryption | OFF |
| binlog_error_action | ABORT_SERVER |
| binlog_expire_logs_auto_purge | ON |
| binlog_expire_logs_seconds | 2592000 |
...
| max_error_count | 1024 |
| max_execution_time | 0 |
| max_heap_table_size | 16777216 |
| max_insert_delayed_threads | 20 |
| max_join_size | 18446744073709551615 |
| max_length_for_sort_data | 4096 |
| max_points_in_geometry | 65536 |
| max_prepared_stmt_count | 16382 |
| max_relay_log_size | 0 |
| max_seeks_for_key | 18446744073709551615 |
| max_sort_length | 1024 |
| max_sp_recursion_depth | 0 |
| max_user_connections | 0 |
| max_write_lock_count | 18446744073709551615 |
...
| time_zone | SYSTEM |
| timestamp | 1682684938.710453 |
| tls_certificates_enforced_validation | OFF |
| tls_ciphersuites | |
| tls_version | TLSv1.2,TLSv1.3 |
| 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 |
| unique_checks | ON |
| updatable_views_with_limit | YES |
| use_secondary_engine | ON |
| version | 8.4.0 |
| version_comment | Source distribution |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
| version_compile_zlib | 1.2.13 |
| wait_timeout | 28800 |
| warning_count | 0 |
| windowing_use_high_precision | ON |
| xa_detach_on_prepare | 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%';
萬用字元可以用於要比對的模式中的任何位置。嚴格來說,由於 _
是一個萬用字元,可比對任何單個字元,因此您應該將其逸出為 \_
以按字面比對它。實際上,這很少需要。