15.7.7.40 显示变量语句
SHOW [GLOBAL | SESSION] VARIABLES
[LIKE 'pattern' | WHERE expr]
SHOW VARIABLES
显示 MySQL 系统变量的值(见第7.1.8节,“Server System Variables”)。该语句不需要任何权限,只需要能够连接到服务器。
系统变量信息也可以从以下来源获取:
对于SHOW VARIABLES
,如果存在LIKE子句,表示要匹配的变量名称。WHERE子句可以用于选择行,以使用更通用的条件,详见第28.8节,“Extensions to SHOW Statements”。
SHOW VARIABLES
可以接受可选的GLOBAL或SESSION变量范围修饰符:
-
使用GLOBAL修饰符,语句显示全局系统变量的值。这些值用于初始化对新连接到 MySQL 的对应会话变量。如果变量没有全局值,则不显示任何值。
-
使用SESSION修饰符,语句显示当前连接的系统变量值。如果变量没有会话值,则显示全局值。LOCAL是SESSION的同义词。
-
如果不指定修饰符,默认为SESSION。
每个系统变量的范围在第7.1.8节,“Server System Variables”中列出。
SHOW VARIABLES
受到版本相关的显示宽度限制。对于非常长的值,使用SELECT
作为解决方案。例如:
SELECT @@GLOBAL.innodb_data_file_path;
大多数系统变量可以在服务器启动时设置(只读变量,如version_comment
除外)。许多可以在运行时使用SET
语句更改。请参阅第7.1.9节,“使用系统变量”,和第15.7.6.1节,“SET Syntax for Variable Assignment”。
以下是部分输出。您的服务器可能会显示不同的变量名称和值。第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%';
通配符字符可以在模式中任意位置使用。从技术上讲,因为_
是通配符,可以匹配任何单个字符,您应该将其转义为\_
以匹配它。实际上,这很少需要。