[MySQL] SHOW VARIABLES 명령
- Databases/MySQL
- 2020. 10. 26.
■ SHOW Variables 명령 형식
SHOW [GLOBAL | SESSION] VARIABLES
[LIKE 'pattern' | WHERE expr]
SHOW VARIABLES는 MySQL 시스템 변수의 값을 보여줍니다 (5.1.7 절.“서버 시스템 변수”참조). 이 진술은 특권이 필요하지 않습니다. 서버에 연결하는 기능 만 필요합니다.
참고로 MySQL 5.7.6부터 show_compatibility_56 시스템 변수의 값은 여기에 설명 된 명령문에 사용 가능한 정보 및 필요한 특권에 영향을줍니다. 자세한 내용은 “서버 시스템 변수”에서 해당 변수에 대한 설명을 참조합니다.
시스템 변수 정보는 다음 소스에서도 사용 가능합니다.
+ 성능 스키마 테이블(performance schema).
+ GLOBAL_VARIABLES 및 SESSION_VARIABLES 테이블.
+ mysqladmin 변수 명령.
SHOW VARIABLES의 경우 LIKE 절이 있으면 일치하는 변수 이름을 나타냅니다. 일반적인 조건을 사용하여 행을 선택하기 위해 WHERE 절을 사용할 수 있습니다.
SHOW VARIABLES는 선택적 GLOBAL 또는 SESSION변수 범위 수정자를 허용합니다.
+ GLOBAL 수정자를 사용하면 명령문은 글로벌(전역) 시스템 변수 값을 표시합니다. 이것은 MySQL에 대한 새로운 연결을 위한 해당 세션 변수를 초기화하는데 사용되는 값입니다. 변수에 전역 값이 없으면 값이 표시되지 않습니다.
+ SESSION 수정자를 사용하면 명령문은 현재 연결에 유효한 시스템 변수 값을 표시합니다. 변수에 세션 값이 없으면 글로벌 값이 표시됩니다. LOCAL은 SESSION의 동의어입니다.
+ 수정자가 없으면 기본값은 SESSION입니다.
SHOW VARIABLES는 버전에 따라 보여지는 폭의 길이가 제한됩니다. 완전히 표시되지 않은 매우 긴 값을 가진 변수의 경우, 해결 방법으로 SELECT를 사용합니다. 예를 들면 다음과 같습니다.
SELECT @@GLOBAL.innodb_data_file_path;
대부분의 시스템 변수는 서버 시작시 설정할 수 있습니다 (version_comment와 같은 읽기 전용 변수는 예외입니다). SET 문을 사용하여 런타임시 많은 것을 변경할 수 있습니다.
부분 출력이 여기에 표시됩니다. 서버에 따라 시스템 변수 이름과 값 목록이 다를 수 있습니다.
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 |
| timestamp | 1316689732 |
| tmp_table_size | 16777216 |
| tmpdir | /tmp |
| transaction_alloc_block_size | 8192 |
| transaction_isolation | REPEATABLE-READ |
| transaction_prealloc_size | 4096 |
| transaction_read_only | OFF |
| tx_isolation | REPEATABLE-READ |
| tx_read_only | OFF |
| 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%';
와일드 카드 문자는 패턴 내에서 일치시킬 위치에 사용할 수 있습니다. 엄밀히 말하면, _는 단일 문자와 일치하는 와일드 카드이므로 문자 그대로 일치 시키려면 \ _로 이스케이프해야 합니다. 참고로 이것은 간간히 사용됩니다. 자주 사용되는 방법은 아닙니다.
'Databases > MySQL' 카테고리의 다른 글
[MySQL] SHOW PROCESSLIST 명령 (0) | 2020.10.28 |
---|---|
[MySQL] Table Column 정보확인 (0) | 2020.10.27 |
[MySQL] Show Warning, Show Error 명령 (0) | 2020.10.25 |
[MySQL] 테이블 정보와 컬럼정보 그리고 테이블 상태 명령 (0) | 2020.10.21 |
[MySQL] 양방향 암호화기법-AES_ENCRYPT n AES_DECRPYT (0) | 2020.10.19 |