SHOW [GLOBAL | SESSION] VARIABLES
[LIKE 'pattern' | WHERE expr]
SHOW VARIABLES
显示 MySQL 系统变量的值(参见
第 5.1.7 节,“服务器系统变量”)。此语句不需要任何权限。它只需要连接到服务器的能力。
系统变量信息也可从以下来源获得:
对于SHOW VARIABLES
,
LIKE
子句(如果存在)指示要匹配的变量名称。可以使用更一般的条件给出一个WHERE
子句来选择行,如第 21.9 节,“SHOW 语句的扩展”中所讨论的。
SHOW VARIABLES
接受一个可选的GLOBAL
或SESSION
可变的范围修饰符:
使用
GLOBAL
修饰符,该语句显示全局系统变量值。这些是用于初始化与 MySQL 的新连接的相应会话变量的值。如果变量没有全局值,则不显示任何值。使用
SESSION
修饰符,该语句显示对当前连接有效的系统变量值。如果变量没有会话值,则显示全局值。LOCAL
是的同义词SESSION
。如果没有修饰符,则默认为
SESSION
.
每个系统变量的范围在 第 5.1.7 节,“服务器系统变量”中列出。
SHOW VARIABLES
受依赖于版本的显示宽度限制。对于具有未完全显示的非常长的值的变量,
SELECT
用作解决方法。例如:
SELECT @@GLOBAL.innodb_data_file_path;
大多数系统变量都可以在服务器启动时设置(只读变量,例如
version_comment
异常)。许多可以在运行时使用
SET
语句进行更改。参见第 5.1.8 节,“使用系统变量”和
第 13.7.4.1 节,“变量赋值的 SET 语法”。
此处显示了部分输出。名称和值的列表可能因您的服务器而异。 第 5.1.7 节“服务器系统变量”描述了每个变量的含义,第 5.1.1 节“配置服务器”提供了有关调整它们的信息。
mysql> SHOW VARIABLES;
+-----------------------------------------+---------------------------+
| Variable_name | Value |
+-----------------------------------------+---------------------------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
| autocommit | ON |
| automatic_sp_privileges | ON |
| back_log | 50 |
| basedir | /home/jon/bin/mysql-5.5 |
| big_tables | OFF |
| binlog_cache_size | 32768 |
| binlog_direct_non_transactional_updates | OFF |
| binlog_format | STATEMENT |
| binlog_stmt_cache_size | 32768 |
| bulk_insert_buffer_size | 8388608 |
...
| max_allowed_packet | 4194304 |
| 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_error_count | 64 |
| max_heap_table_size | 16777216 |
| max_insert_delayed_threads | 20 |
| max_join_size | 18446744073709551615 |
...
| thread_handling | one-thread-per-connection |
| thread_stack | 262144 |
| time_format | %H:%i:%s |
| time_zone | SYSTEM |
| timed_mutexes | OFF |
| timestamp | 1316689732 |
| tmp_table_size | 16777216 |
| tmpdir | /tmp |
| transaction_alloc_block_size | 8192 |
| transaction_prealloc_size | 4096 |
| tx_isolation | REPEATABLE-READ |
| unique_checks | ON |
| updatable_views_with_limit | YES |
| version | 5.5.17-log |
| version_comment | Source distribution |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
| wait_timeout | 28800 |
| warning_count | 0 |
+-----------------------------------------+---------------------------+
对于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%';
通配符可以用在要匹配的模式中的任何位置。严格来说,因为
_
是匹配任意单个字符的通配符,所以应该将其转义为\_
字面匹配。实际上,这很少是必要的。