DB/MySQL

MySQL 시스템 변수에 대해서

ahgle 2022. 9. 6. 11:18
728x90
반응형

시스템 변수

  • MySQL 실행 시, 설정 파일의 내용을 읽어 메모리나 작동 방식 등을 초기화하고, 사용자를 제어하기 위해 저장된 값
  • 시스템 변수는 MySQL 서버, 클라이언트에 영향을 미친다. 시스템 변수는 글로벌 변수, 세션 변수로 구분된다.

 

글로벌 변수, 세션 변수

글로벌 변수

  • MySQL 서버 인스턴스에서 전체적으로 영향을 미치는 시스템 변수
  • MySQL 서버 자체에 관련된 설정
  • InnoDB 버퍼 풀 크기(innodb_buffer_pool_size) 또는 MyISAM 키 캐시 크기(key_buffer_size) 등이 있다.

예시 )  /etc/my.cnf에 설정돼있는 InnoDB 버퍼 풀 크기.  8G로 설정돼있다.

innodb_file_per_table
innodb_buffer_pool_size = 8G
innodb_flush_log_at_trx_commit = 2
innodb_additional_mem_pool_size = 256M

세션 변수

  • MySQL 클라이언트가 MySQL 서버에 접속할 때 기본으로 부여하는 옵션의 기본값을 제어하는 데 사용된다.
  • 세션 변수는 글로벌 변수처럼 초기값을 명시할 수 없다. 커넥션이 만들어지는 순간부터만 유효한 설정 변수이다.
  • 클라이언트가 처음 접속 시 기본적으로 부여하는 값이다. 별도로 그 값을 변경하지 않은 경우에도 그대로 값이 유지되지만, 클라이언트의 필요에 따라 개별 커넥션 단위로 다른 값으로 변경할 수 있다.

 

관련 명령어

  • 변수 확인 : SHOW [GLOBAL|SESSION] VARIABLES LIKE '변수명';
  • 변수 설정 : 

 

예시) test DB의 characterset 관련 변수 값 확인

MariaDB [test]> show variables like '%char%';
+--------------------------+------------------------------------+
| Variable_name            | Value                              |
+--------------------------+------------------------------------+
| character_set_client     | utf8                               |
| character_set_connection | utf8                               |
| character_set_database   | utf8                               |
| character_set_filesystem | binary                             |
| character_set_results    | utf8                               |
| character_set_server     | utf8                               |
| character_set_system     | utf8                               |
| character_sets_dir       | /usr/local/mariadb/share/charsets/ |
+--------------------------+------------------------------------+
8 rows in set (0.00 sec)

MySQL character set에 대해 알아보고 싶다면 아래 링크 클릭!
https://wowy0211.tistory.com/17

728x90