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 — A MySQL Server Administration Program”。
对于 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%';
通配符可以在要匹配的模式中的任何位置使用。严格来说,因为 _
是匹配任何单个字符的通配符,所以您应该将其转义为 \_
以按字面意思匹配它。在实践中,这很少有必要。