SHOW [GLOBAL | SESSION] VARIABLES
[LIKE 'pattern' | WHERE expr]
SHOW VARIABLES
會顯示 MySQL 系統變數的值 (請參閱章節 7.1.8,「伺服器系統變數」)。此陳述式不需要任何權限。它只需要連線到伺服器的能力。
系統變數資訊也可從以下來源取得
Performance Schema 表格。請參閱第 29.12.14 節,「Performance Schema 系統變數表格」。
mysqladmin variables 命令。請參閱第 6.5.2 節,「mysqladmin — 一個 MySQL 伺服器管理程式」。
對於 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 | 9.0.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%';
萬用字元可以使用在要比對的模式中的任何位置。嚴格來說,因為 _
是一個比對任何單一字元的萬用字元,您應該將其逸出為 \_
以逐字比對它。實際上,這很少是必要的。