본문 바로가기
웹프로그래밍 무작정따라하기/Database

[Mysql/MariaDB] DB 시스템 변수 확인

by RIMD 2023. 8. 17.

DB 시스템 변수 확인 방법

MySQL Command-Line Client 접속하여 확인

//DB 로그인
$ mysql -u [USER] -p

//DB 변수 확인
$ show variables;

// 최대 동시 클라이언트 연결 수
$ show variables like 'max_connect%';

 

[GLOBAL 변수와 SESSION 변수]

  • 영향을 미치는 범위
  • GLOBAL 변수 : MySQL 서버에서 단 하나의 값을 가지며, 시스템에 영향을 미치는 변수입니다.
  • SESSION 변수 : 각 세션에만 적용되는 값으로 커넥션 단위로 값을 변경할 수 있습니다.
  • GLOBAL, SESSION 둘 다 해당하는 변수도 존재합니다.

 

[Static변수와 Dynamic변수]

  • 값을 변경할 때 서버를 재시작해야 하는지 여부에 따른 분류
  • Static 변수 : 서버를 재시작해야지만 값이 변경됩니다.
  • Dynamic 변수 : 서버를 재시작하지 않고도 값을 변경할 수 있습니다.
  •  

2. 주요 시스템 변수

[주의 사항]

변수의 범위가 GLOBAL일 경우 SHOW STATUS 쿼리를 사용할 경우 자동으로 SHOW GLOBAL STATUS 적용됩니다.

그러나 변수의 범위가 GLOBAL, SESSION 둘 다 일 경우 SHOW SESSION STATUS 적용됩니다.

 

더 많은 다양한 서버 상태 변수는 아래의 링크에 접속하면 설명되어있습니다.

MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variables

 

  • autocommit
    • GLOBAL Variable, SESSION Variable, Dynamic Variable 
    • Auto commit 여부

 

  • basedir
    • GLOBAL Variable, Static Variable
    • MariaDB 설치 디렉터리의 경로

 

  • datadir
    • GLOBAL Variable, Static Variable
    • 데이터가 저장된 디렉토리

 

  • character_set_server
    • GLOBAL Variable, SESSION Variable, Dynamic Variable
    • 서버에서 사용하는 기본 문자 집합

 

  • character_set_system
    • GLOBAL Variable, Static Variable
    • 서버가 식별자를 저장하기 위해 사용하는 문자 세트

 

  • character_set_database
    • GLOBAL Variable, SESSION Variable, Dynamic Variable
    • 기본 데이터베이스에서 사용하는 문자 집합

 

  • connect_timeout
    • GLOBAL Variable, Dynamic Variable
    • mysqld 서버가 응답하기 전에 연결 패킷을 기다리는 초 

 

  • general_log
    • GLOBAL Variable, Dynamic Variable
    • 쿼리 로그 사용 유무(기본 값 OFF)

 

  • general_log_file
    • GLOBAL Variable, Dynamic Variable
    • 쿼리 로그 파일 경로 및 파일 명 설정

 

  • hostname
    • GLOBAL Variable, Static Variable
    • 서버 호스트 이름

 

  • init_file
    • GLOBAL Variable, Static Variable
    • DB 서버 시작 시 실행할 SQL 쿼리 파일

 

  • interactive_timeout
    • GLOBAL Variable, SESSION Variable, Dynamic Variable
    • 활동 중인 커넥션이 닫히기 전까지 서버가 대기하는 시간
    • mysql> 과 같은 콘솔이나 터미널 모드(대화형 클라이언트)에서 mysqld와 client가 연결을 맺은 다음 요청을 기다리는 최대 시간

 

  • wait_timeout
    • GLOBAL Variable, SESSION Variable, Dynamic Variable
    • 종료 전까지 요청이 없이 기다리는 시간 ( TCP/IP 연결, Shell 상의 접속이 아닌 경우 ) 활동하지 않는 커넥션을 끊을 때까지 서버가 대기하는 시간
    • API를 이용한 client 프로그램(PHP, JDBC, ODBC...) 상에서 최대 연결 시간을 말하며, 설정된 시간 동안 아무 요청이 없으면 연결은 취소되고 다시 요청이 들어오면 자동으로 연결이 맺어집니다. 

 

  • license
    • GLOBAL Variable, Static Variable
    • 서버 라이센스

 

  • log_error
    • GLOBAL Variable, Static Variable
    • 에러 로그 경로 및 파일 명

 

  • port
    • GLOBAL Variable, Static Variable
    • 서버가 TCP/IP 연결을 수신 대기하는 포트

 

  • read_only
    • GLOBAL Variable, Dynamic Variable
    • read_only 시스템 변수가 활성화된 경우 서버는 CONNECTION_ADMIN 권한이 있는 사용자(또는 사용되지 않는 SUPER 권한)를 제외한 클라이언트 업데이트를 허용하지 않습니다.

 

  • socket
    • GLOBAL Variable, Static Variable
    • mysql.sock 경로 (소켓 파일 경로)

 

  • time_zone
    • GLOBAL Variable, SESSION Variable, Dynamic Variable 

Connection 튜닝 관련 시스템 변수

  • max_connections
    • GLOBAL Variable, Dynamic Variable
    • 최대 동시 클라이언트 연결 수

 

  • wait_timeout
    • GLOBAL Variable, SESSION Variable, Dynamic Variable
    • 종료 전까지 요청이 없이 기다리는 시간 ( TCP/IP 연결, Shell 상의 접속이 아닌 경우 ) 활동하지 않는 커넥션을 끊을 때까지 서버가 대기하는 시간
    • API를 이용한 client 프로그램(PHP, JDBC, ODBC...) 상에서 최대 연결 시간을 말하며, 설정된 시간 동안 아무 요청이 없으면 연결은 취소되고 다시 요청이 들어오면 자동으로 연결이 맺어집니다. 

 

  • thread_cache_size
    • GLOBAL Variable, Dynamic Variable
    • thread 재 사용을 위한 Thread Cache 수로써, Cache에 있는 Thread 수보다 접속이 많으면 새롭게 Thread를 생성한다.

 

Memory 튜닝 관련 시스템 변수

  • key_buffer_size
    • GLOBAL Variable, Dynamic Variable
    • 인덱스를 메모리에 저장하는 버퍼의 크기(인덱스 블록에 사용되는 버퍼의 크기)

 

  • table_open_cache
    • GLOBAL Variable, Dynamic Variable
    • 전체 Thread가 사용할 오픈 가능한 최대 테이블 수

 

  • myisam_sort_buffer_size
    • GLOBAL Variable, SESSION Variable, Dynamic Variable
    • 테이블 repair, Alter table, load data에 사용되는 버퍼 메모리 크기
    • 복구 테이블 동안 인덱스를 정렬하거나 인덱스 만들기 또는 테이블 변경으로 인덱스를 만들 때 할당되는 버퍼의 크기

 

  • join_buffer_size
    • GLOBAL Variable, SESSION Variable, Dynamic Variable
    • 조인을 위한 메모리 버퍼 크기

 

  • sort_buffer_size
    • GLOBAL Variable, SESSION Variable, Dynamic Variable
    • 정렬(order by와 group by)에 사용되는 메모리 버퍼 크기

 

  • tmp_table_size
    • GLOBAL Variable, SESSION Variable, Dynamic Variable
    • 스토리지 엔진에서 만든 내부 메모리 임시 테이블의 최대 크기
    • group by시 디스크를 사용하지 않고 임시 테이블을 만들기 위해 사용되는 메모리 크기

 

  • key_cache_block_size
    • GLOBAL Variable, Dynamic Variable
    • 키 캐시의 블록 바이트의 크기(bytes, 기본값 1024)

 

 

[Mysql/MariaDB] DB 시스템 변수 확인(show variable)

1. DB 시스템 변수 확인 [형식] # SHOW VARIABLES SHOW [GLOBAL | SESSION] VARIABLES [LIKE 'pattern' | WHERE expr] ----------------------------------------------- # SELECT SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES; SELECT * FROM INFORMATION_SC

veneas.tistory.com

 

댓글