티스토리 뷰

MySQL의 설정

  • MySQL은 기동시 설정파일을 읽어 메모리나 작동방식을 초기화 하고 사용자를 제어한다. 이 때 설정 파일에 기술된 변수들이 시스템 변수이다.

 

설정 파일 명
  • Linux/Unix - my.cnf
  • window - my.ini

 

일반적인 설정파일 경로
  1.  /etc/my.cnf 
  2.  /etc/mysql/my.cnf 
  3.  /usr/etc/my.cnf 
  4.  ~/.my.cnf 

 

[설정파일 경로 확인 방법]
>> mysqld —verbose —help
// 생략
Default options are read from the following files in the given order:
**/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf**
//생략

 

MySQL 시스템 변수

메모리나 작동박식을 초기화하고 사용자 제어를 하는 값

 

종류

Scope로 구분
  • Global 변수
    • MySQL 서버 전체를 대상으로 하여, 변경시 전체 서버에 영향을 미친다.
  • Session 변수
    • 커넥션 별로 적용되는 설정.
Life Cycle로 구분
  • 정적 변수
    • MySQL 서버 기동중에 변경할 수 없으며, 대부분이 Global 변수로 구성되어 있다. Java에 Static 변수로 생각하면 쉽다.
  • 동적 변수
    • MySQL 서버 런타임에도 변경이 가능한 변수.

 

SET

  • 시스템 변수 중 동적 변수 변경을 위해 사용하는 명령어
SET GLOBAL [변수명] = [값]
  • 값 변경이 즉시 반영된다.
  • 설정파일이 변경된 것은 아니기 때문에, 재기동시 초기화 됨
  • SET GLOBAL variable = VALUE

 

예시

 

SET PERSIST [변수명] = [값]
  • SET GLOBAL 의 재기동시 초기화되는 문제를 해결하기위해 탄생
  • SET PERSIST VARIABLE = VALUE
  • 재 기동시에만 변경을 원할 시 SET PERSIST_ONLY 를 사용

 SET PERSIST  명령 기동 순서

  1. 변경된 값을 즉시 적용
  2. 변경된 값을 별도의 설정파일 mysqld-auto.cnf 에 기록
  3. MySQL서버 재기동시 my.cnf 파일과 함께 mysqld-auto.cnf 를 함께 참조하여 실행

 

RESET PERSISTE [변수명]
- SET PERSIST로 추가된 시스템변수에 대한 삭제용도

'DataBase > MySQL' 카테고리의 다른 글

[MySQL] 인덱스(Index) 란?  (0) 2022.08.10
[MySQL&Mac M1] MySQL Community Server download  (0) 2022.08.03
댓글