Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 LIKE 조건으로 여러 시스템 변수 한 번에 조회하기

MySQL에서 시스템 변수를 확인할 때 SHOW VARIABLES 명령어를 사용합니다. 그런데 특정 이름 패턴을 가진 변수만 골라서 보고 싶거나, 서로 다른 여러 그룹의 변수를 동시에 조회하고 싶다면 어떻게 해야 할까요? 이때 WHERE 절과 LIKE 연산자를 OR 조건과 함께 사용하면 됩니다.

기본 문법

여러 개의 변수를 한 번에 표시하는 기본 문법은 다음과 같습니다.

show variables where Variable_name like 'yourVariable1%' or Variable_name like 'yourVariable2%', ............. N;

LIKE 뒤에는 와일드카드 문자인 %를 붙여 해당 접두사로 시작하는 모든 변수를 매칭할 수 있으며, OR로 연결하면 원하는 만큼 여러 패턴을 조합할 수 있습니다.

실제 적용 예시

이번 예시에서는 key%, innodb_undo%, innodb_log% 세 가지 패턴에 해당하는 변수들을 한꺼번에 조회해 보겠습니다.

mysql> show variables where Variable_name like 'key%' or Variable_name like 'innodb_undo%' or Variable_name like 'innodb_log%';

실행 결과

+------------------------------------+----------+
| Variable_name                      | Value    |
+------------------------------------+----------+
| innodb_log_buffer_size             | 1048576  |
| innodb_log_checksums               | ON       |
| innodb_log_compressed_pages        | ON       |
| innodb_log_file_size               | 50331648 |
| innodb_log_files_in_group          | 2        |
| innodb_log_group_home_dir          | .\       |
| innodb_log_spin_cpu_abs_lwm        | 80       |
| innodb_log_spin_cpu_pct_hwm        | 50       |
| innodb_log_wait_for_flush_spin_hwm | 400      |
| innodb_log_write_ahead_size        | 8192     |
| innodb_undo_directory              | .\       |
| innodb_undo_log_encrypt            | OFF      |
| innodb_undo_log_truncate           | ON       |
| innodb_undo_tablespaces            | 2        |
| key_buffer_size                    | 8388608  |
| key_cache_age_threshold            | 300      |
| key_cache_block_size               | 1024     |
| key_cache_division_limit           | 100      |
| keyring_operations                 | ON       |
+------------------------------------+----------+
19 rows in set (0.01 sec)

조회된 변수 그룹 살펴보기

  • innodb_log%: InnoDB 리두 로그(redo log)와 관련된 변수들입니다. 로그 버퍼 크기, 체크섬, 로그 파일 크기 등이 포함됩니다.
  • innodb_undo%: InnoDB 언두(undo) 로그 관련 설정입니다. 언두 테이블스페이스 위치, 암호화 여부, 자동 잘라내기(truncate) 옵션 등을 확인할 수 있습니다.
  • key%: MyISAM 스토리지 엔진의 키 캐시(key cache) 관련 변수들입니다. 키 버퍼 크기, 블록 크기, 캐시 분할 기준 등이 여기에 해당합니다.

이처럼 LIKEOR 조건을 활용하면 수백 개에 달하는 MySQL 시스템 변수 중에서 필요한 항목들만 빠르고 정확하게 필터링하여 확인할 수 있습니다.