파라미터 목록
카카오클라우드 MySQL에서 제공하는 파라미터 목록과 기본 개념은 MySQL 공식 문서를 따릅니다. 파라미터를 변경하면 MySQL 서비스 운영에 영향을 미칠 수 있으므로 변경 전에 각 파라미터의 용도와 설정값을 충분히 검토하시기 바랍니다.
수정 시 주의해야 할 파라미터
일부 파라미터는 메모리 사용량, 연결 수, 문자 집합, 검색 기능 등에 영향을 줄 수 있습니다. 변경 전 인스턴스 사양, 워크로드, 파라미터 간 의존성을 확인하세요.
InnoDB 메모리 및 로그 파라미터
| 파라미터 | 용도 | 수정 시 유의 사항 |
|---|---|---|
innodb_buffer_pool_size | InnoDB 버퍼 풀 크기 설정 | 값이 너무 작으면 성능 저하, 너무 크면 시스템 메모리 부족 가능 인스턴스 그룹 사양과 워크로드를 기준으로 설정 권장 - 예약어 계산식 예: {kc.InstanceMemory * 6 / 10}- MySQL 버퍼 풀 관리 방식에 따라 {innodb_buffer_chunk_size * innodb_buffer_pool_instances}의 배수로 재조정 가능 |
innodb_buffer_pool_chunk_size | InnoDB 버퍼 풀 할당 시 사용하는 청크 크기 설정 | 값이 너무 작으면 메모리 할당 효율 저하, 너무 크면 초기화 시간 증가 가능innodb_buffer_pool_size와의 관계 확인 필요- 값 변경 시 innodb_buffer_pool_size 자동 증가 가능 |
innodb_buffer_pool_instances | InnoDB 버퍼 풀을 분할하는 인스턴스 수 설정 | 값이 너무 낮으면 경합으로 인한 성능 저하, 너무 높으면 메모리 낭비 가능 인스턴스 그룹 사양을 기준으로 설정 권장 - 예약어 계산식 예: { MIN(kc.InstanceVcpu * 2, 64) } |
innodb_redo_log_capacity | InnoDB 리두 로그 총 용량 설정 | 값이 너무 작으면 로그 파일 포화로 인한 성능 저하, 너무 크면 디스크 사용량 증가 가능 트랜잭션 발생량과 로그 스토리지 사용량 확인 필요 |
연결 및 시간 설정 파라미터
| 파라미터 | 용도 | 수정 시 유의 사항 |
|---|---|---|
max_connections | MySQL 서버에 허용되는 최대 동시 연결 수 설정 | 값이 너무 낮으면 연결 실패, 너무 높으면 리소스 사용량 증가 가능 인스턴스 그룹 사양과 애플리케이션 연결 수를 기준으로 설정 권장 - 예약어 계산식 예: { MIN(kc.InstanceMemory / 12582880, 16000) } |
time_zone | MySQL 서버 시간대 설정 | 잘못된 시간대 설정 시 타임스탬프 및 시간 관련 데이터 오류 가능 연결하는 각 클라이언트의 시간대 초기화 가능 - 사용 가능한 값 예: system, +00:00, +01:00 |
문자 집합 및 정렬 규칙 파라미터
character_set_*, collation_* 파라미터는 서로 호환되는 값으로 설정해야 합니다. 특히 character_set_server와 collation_server는 연관되어 있어 하나의 값만 변경해도 MySQL에서 같은 문자 집합에 맞는 값으로 자동 조정될 수 있습니다. 변경 전 MySQL 공식 문서의 문자 집합, 문자 집합과 정렬 규칙 호환성, 서버 문자 집합과 정렬 규칙을 확인하세요.
| 파라미터 | 용도 | 수정 시 유의 사항 |
|---|---|---|
character_set_clientcharacter_set_connectioncharacter_set_filesystemcharacter_set_resultscharacter_set_server | 데이터베이스, 테이블, 열에서 사용할 문자 집합 지정 | 잘못 설정하면 데이터 손상, 성능 저하, 비호환성 문제 발생 가능 사용 환경에 맞는 문자 집합 선택 및 collation_* 파라미터와의 조합 확인 필요 |
collation_connectioncollation_server | 특정 문자 집합 내 문자열 비교 및 정렬 규칙 설정 | 잘못 설정하면 데이터 무결성 문제, 성능 저하, 비호환성 문제 발생 가능character_set_* 파라미터와 호환되는 정렬 규칙 설정 필요 |
character_set_servercollation_server | MySQL 서버의 기본 문자 집합과 정렬 규칙 설정 | 하나의 값만 변경해도 MySQL에서 같은 문자 집합에 맞는 값으로 자동 조정 가능 두 파라미터를 같은 문자 집합에 맞는 조합으로 함께 변경 필요 - 예: character_set_server만 big5로 변경하면 콘솔의 collation_server 값과 DB에 실제 적용된 값이 다르게 보일 수 있음 |
기능 의존성 파라미터
| 파라미터 | 용도 | 수정 시 유의 사항 |
|---|---|---|
innodb_ft_aux_table | InnoDB 풀텍스트 검색용 보조 테이블 지정 | 잘못 설정하면 풀텍스트 검색 문제 발생 가능 정상 동작 조건: 존재하는 테이블 이름 입력 - 존재하지 않는 테이블 입력 시 정상 동작 여부 확인 불가 |
파라미터에 사용되는 수식, 함수, 예약어
커스텀 파라미터 그룹 내 파라미터 중 일부는 수식, 함수, 예약어를 지원합니다. 숫자, 문자열 유형의 파라미터에 대해서만 사용할 수 있습니다.
계산식을 사용한 결과 값은 int64(-9,223,372,036,854,775,807 ~ 9,223,372,036,854,775,807) 범위의 숫자여야 하며, 해당 범위를 벗어나면 사용할 수 없습니다.
자세한 내용은 아래 내용을 참고하세요.
| 구분 | 설명 |
|---|---|
| 수식 | 수식은 항상 {} 안에 작성 |
(), +, -, *, /를 사용 가능 | |
| 수식의 결과는 항상 숫자여야 함. | |
데이터 형식이 INTEGER인 경우 소수점은 버림 처리 | |
| 함수 | MAX(a, b, ...): 여러 개의 값 중 가장 큰 값을 반환, 대문자만 사용 |
| MIN(a, b, ...): 여러 개의 값 중 가장 작은 값을 반환, 대문자만 사용 | |
| SUM(a, b, ...): 여러 개의 값의 합을 반환, 대문자만 사용 | |
| IF(판별식, a, b): 판별식이 true면 a, false면 b를 반환, 대문자만 사용 | |
| 예약어 | kc.InstanceMemory: 현재 DB 인스턴스 유형의 메모리 크기의 바이트 값 |
| kc.InstanceVcpu: 현재 DB 인스턴스 유형의 가상 CPU 코어 수 | |
| kc.VolumeSizeData: Data Volume 사이즈 | |
| kc.VolumeSizeLog: Log Volume 사이즈 | |
| kc.InstanceCount: 전체 노드 수 | |
| kc.InstancePrimaryCount: Primary 노드 수 | |
| kc.InstanceStandbyCount: Standby 노드 수 | |
| kc.InstanceGroupId: 인스턴스 그룹 ID |
사용 예제
max_connections의 기본값을 예제로 설명합니다.
예제. kc.InstanceMemory / 12582880의 계산결과(소수점 버림)와 16000 값 중 더 작은 값을 반환합니다.
{ MIN(kc.InstanceMemory / 12582880, 16000) }