파라미터 그룹 생성 및 관리
파라미터 그룹에서는 엔진 버전에 따라 MySQL 설정에 필요한 파라미터들을 한 번에 조회하고 관리할 수 있습니다.
또한, 해당 파라미터 그룹에 연결된 인스턴스 그룹들의 파라미터들을 일괄로 관리할 수 있습니다.
카카오클라우드의 MySQL에서 제공하는 파라미터 목록과 기본개념은 MySQL의 공식문서를 따릅니다. 파라미터를 변경하는 경우, MySQL 서비스에 영향을 미칠 수 있으므로 공식문서 등을 통해 사전에 입력해야하는 적절한 파라미터 확인을 권장드립니다.
MySQL 서비스에서 파라미터 그룹을 관리하는 방법은 다음과 같습니다.
- 파라미터 그룹은 kr-central-2에서만 지원합니다.
- 생성, 수정 등 파라미터 그룹에 대한 이벤트들을 Alert Center > 이벤트 알림 기능을 통해 받아볼 수 있습니다.
- 설정 가능한 이벤트 내역은 Cloud Trail > 주요개념, 이벤트 알림 설정은 Alert Center > 알림 정책 생성 및 관리 가이드 내용을 확인하세요.
파라미터 그룹 목록 보기
카카오클라우드 MySQL에서 제공하는 파라미터 그룹, 기본/커스텀 그룹 목록을 확인할 수 있습니다.
-
카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.
-
Parameter Group 메뉴를 클릭하고 확인할 파라미터 그룹 분류에 따라 커스텀 그룹/기본 그룹 탭을 선택합니다.
-
선택한 탭에 맞는 Parameter Group 메뉴로 이동합니다.
항목 설명 이름 파라미터 그룹 이름 엔진 버전 파라미터 그룹과 호환되는 MySQL 엔진 버전 연결된 인스턴스 그룹 수 해당 그룹에 연결된 인스턴스 그룹 수
- 연결된 인스턴스 그룹의 파라미터 반영 상태에 이상이 있을 경우, 경고 아이콘 노출설명 파라미터 그룹 설명 더 보기 커스텀 그룹만 제공
- 수정: 파라미터 수정
- 복사: 해당 그룹과 동일한 파라미터로 새로운 파라미터 그룹 생성
- 초기값으로 재설정: 해당 그룹의 파라미터를 생성 시의 초기값으로 재설정
- 롤백: 해당 그룹의 파라미터를 직전 값으로 되돌림, 수정한 내역이 없거나 이미 롤백을 한 경우 롤백 불가능
- 삭제: 해당 그룹 삭제
파라미터 그룹 상세 보기
MySQL 파라미터 그룹의 상세 정보를 확인할 수 있습니다.
- 카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.
- Parameter Group 메뉴를 클릭하고 확인할 파라미터 그룹 분류에 따라 커스텀 그룹/기본 그룹 탭을 선택합니다.
- 선택한 탭에 맞는 Parameter Group 메뉴로 이동한 뒤 상세 정보를 조회할 파라미터 그룹을 선택합니다.
탭: 파라미터
항목 | 설명 |
---|---|
이름 | 파라미터 이름 |
값 | 파라미터의 값 |
유형 | 파라미터의 유형, Static , Dynamic - Static 파라미터일 경우 반영 시 재시작 필요 - Dynaminc 파라미터 중 일부는 글로벌로 적용되므로 세션 갱신 필요 |
데이터 형식 | 파라미터 데이터 형식 |
수정 여부 | 불가능 , 가능 , 가능(수정됨) - 가능 일 경우만 값 수정이 가능하며 수정된 경우 가능(수정됨) 으로 표기 |
탭: 연결된 인스턴스 그룹
항목 | 설명 |
---|---|
이름 | 인스턴스 그룹 이름 |
상태 | 인스턴스 그룹 상태 |
파라미터 반영 상태 | 파라미터의 반영 상태, 자세한 설명은 파라미터 반영 상태 참고 |
엔진 버전 | 인스턴스 그룹의 MySQL 엔진 버전 |
인스턴스 유형 | 인스턴스 그룹 구성을 위한 인스턴스 유형 |
가용성 | 인스턴스 가용성, 단일 , 고가용성 |
[버튼] 재시도 | 파라미터 반영 상태가 Error-Sync , Suspended 일 때 파라미터 그룹에 연결된 인스턴스 그룹에 파라미터 반영을 재시도 |
탭: 최근 이벤트
최근 7일간 발생한 파라미터 그룹의 주요 이벤트를 확인할 수 있습니다.
항목 | 설명 |
---|---|
시간 | 이벤트가 발생한 시간 |
이름 | 이벤트 이름 |
내용 | 이벤트 내용, 결과, 이벤트가 발생한 인스턴스 그룹 이름 등을 확인 가능 |
- 파라미터 그룹, 최근 이벤트 종류
파라미터 그룹 유형 | 이벤트 이름 | 설명 |
---|---|---|
커스텀 파라미터 그룹 | Create Parameter Group | 커스텀 파라미터 그룹 생성되었을 때 발생 |
Update Parameter Group | 커스텀 파라미터 그룹의 정보(설명) 수정되었을 때 발생 | |
Update Parameter | 파라미터의 값이 수정되었을 때 발생 | |
Reset Parameters | 파라미터의 값을 초기값으로 재설정 요청이 들어왔을 때 발생 | |
Rollback Parameters | 파라미터의 값의 롤백 요청이 들어왔을 때 발생 | |
Apply Instance Group | 해당 파라미터 그룹을 인스턴스 그룹에 반영을 완료했을 경우 발생 | |
기본 파라미터 그룹 | Apply Instance Group | 해당 파라미터 그룹을 인스턴스 그룹에 반영을 완료했을 경우 발생 |
파라미터 그룹 만들기
-
카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.
-
Parameter Group 메뉴를 클릭하고 확인할 파라미터 그룹 분류에 따라 커스텀 그룹 탭을 선택합니다.
-
커스텀 그룹 탭으로 이동한 뒤 아이콘 > 파라미터 그룹 만들기를 선택합니다.
-
파라미터 그룹 만들기 페이지에서 필요한 내용을 입력합니다. 파라미터 값은 파라미터 그룹 생성 후 수정 가능합니다.
항목 구분 설명 기본 설정 파라미터 그룹 이름 파라미터 그룹의 이름
- 동일 프로젝트 내에서 중복된 이름은 사용할 수 없음설명(선택) 파라미터 그룹에 대한 부가 설명을 100자까지 입력 가능 파라미터 그룹 설정 엔진 버전 파라미터 그룹의 MySQL 엔진 버전 기본 파라미터 그룹 해당 엔진 버전에서 제공하는 기본 파라미터 그룹 선택 파라미터 해당 파라미터 그룹의 초기 파라미터 값
파라미터 그룹 수정
커스텀 파라미터 그룹은 파라미터 그룹을 만든 후 설명 및 수정하고자 하는 파라미터의 값을 변경할 수 있습니다. 수정 여부가 가능
인 파라미터만 수정할 수 있으며, 값이 수정된 파라미터는 수정 여부가 가능(수정됨)
으로 변경됩니다.
Dynamic
유형인 파라미터 중 일부는 글로벌로 적용되므로 세션 갱신이 필요합니다.Static
유형인 파라미터가 수정되는 경우에는 연결된 인스턴스 그룹이 재시작됩니다.- 연결된 인스턴스 그룹의 파라미터 반영 상태가
Pending
,Applying
인 경우에는 파라미터를 수정할 수 없습니다. - 파라미터 그룹 수정 페이지에서는 수정 가능한 파라미터 목록 내에서 목록을 이동하여도 선택한 체크박스가 유지됩니다.
- 일부 파라미터는 수정 시 MySQL 서비스 운영에 영향을 미칠 수 있습니다. 자세한 내용은 수정 시 주의해야할 파라미터를 확인해 주세요.
- 파라미터 수정 후 문제가 발생한 경우, 설정한 파라미터 백업을 위해서는 파라미터 그룹
복사
를 권장하며,재시도/롤백/초기화
를 진행하는 것을 권장드립니다.
-
카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.
-
Parameter Group 메뉴를 클릭하고 커스텀 그룹 탭을 선택합니다.
-
수정할 파라미터 그룹을 확인한 뒤 [더 보기] 아이콘 > 수정을 선택합니다.
-
파라미터 그룹 수정 페이지에서 필요한 내용을 수정합니다.
항목 구분 설명 기본 정보 파라미터 그룹 이름 파라미터 그룹의 이름 설명(선택) 파라미터 그룹에 대한 부가 설명을 100자까지 입력 가능 수정 가능한 파라미터 파라미터 그룹 내에서 수정 가능한 파라미터 목록
- 수정된 파라미터는 수정 여부가가능(수정됨)
으로 변경 -
인스턴스 그룹에 연결된 파라미터 그룹이 복수개인 경우, 파라미터 적용 방식을 선택할 수 있습니다.
일괄반영
: 수정된 파라미터를 모든 인스턴스 그룹에 일괄 반영합니다.
순차반영
: 수정된 파라미터를 인스턴스 그룹에 연속해서 반영합니다.
수정 시 주의해야할 파라미터
커스텀 파라미터 그룹 내 파라미터값 수정 시, 일부 파라미터는 수정 시 MySQL 서비스 운영에 영향을 미칠 수 있습니다. 자세한 내용은 아래의 내용을 참고부탁드립니다.
collation, character set 파라미터 수정 시 적절한 설정값을 입력하지 않으면 서비스에 문제가 발생할 수 있습니다. 입력 시 해당 파라미터 관련 공식문서(파라미터 조합 안내, 파라미터 조합 문제 안내)를 참고부탁드립니다.
파라미터 이름 | 설명 | 발생 가능한 문제 |
---|---|---|
innodb_ft_aux_table | InnoDB 풀텍스트 검색용 보조 테이블 지정 | 잘못 설정 시 풀텍스트 검색에 문제 발생 - 존재하는 테이블의 명칭을 기재해야 정상동작 존재하지 않는 테이블 기재 시 정상 동작 여부 확인 불가 |
innodb_buffer_pool_size | InnoDB 버퍼 풀의 크기 설정 | 너무 작게 설정 시 성능 저하, 너무 크게 설정 시 시스템 메모리 부족 발생 - 인스턴스 그룹의 사양에 따라 적절한 값으로 설정되도록 예약어 계산식 제공 중이나 MYSQL Buffer 관리 방식으로 인해 버퍼풀의 메모리는 {innodb_buffer_chunk_size*innodb_buffer_pool_instances} 배수로 재조정 중*예: {kc.InstanceMemory * 7 / 10} |
innodb_log_file_size | 각 InnoDB 로그 파일의 크기 설정 | 너무 작게 설정 시 성능 저하, 너무 크게 설정 시 복구 시간 증가 |
innodb_buffer_pool_chunk_size | InnoDB 버퍼 풀을 할당할 때 사용하는 청크 크기 설정 | 너무 작게 설정 시 메모리 할당 효율 저하, 너무 크게 설정 시 초기화 시간이 증가 - innodb_buffer_pool_size 의 배수여야 하며, 해당 값을 변경하면 innodb_buffer_pool_size 가 자동 증가 - 인스턴스 그룹의 사양에 따라 적절한 값으로 설정되도록 예약어 계산식 제공 * 예: { (kc.InstanceMemory * 7 / 10) / (kc.InstanceVcpu * 2) } |
innodb_buffer_pool_instances | InnoDB 버퍼 풀을 분할할 때 사용하는 인스턴스 수 설정 | 너무 낮게 설정 시 경합 발생으로 성능 저하, 너무 높게 설정 시 메모리 낭비 발생 * 고정값: 134217728 |
innodb_redo_log_capacity | InnoDB 리두 로그의 총 용량 설정 | 너무 작게 설정 시 로그 파일이 빨리 차면서 성능 저하, 너무 크게 설정 시 디스크 사용량 증가 - 인스턴스 그룹의 사양에 따라 적절한 값으로 설정되도록 예약어 계산식 제공 *예: { MIN(kc.InstanceMemory * 7 / 10 / 4, 2147483648) } |
max_connections | MySQL 서버에 허용되는 최대 동시 연결 수 설정 | 너무 낮게 설정 시 사용자가 mysql에 연결할 수 없고 너무 높게 설정 시 리소스 과다 발생 - 인스턴스 그룹의 사양에 따라 적절한 값으로 설정되도록 예약어 계산식 제공 * 예: { MIN(kc.InstanceMemory / 12582880, 16000) } |
time_zone | MySQL 서버의 시간대 설정 | 잘못된 시간대 설정 시 타임스탬프 및 시간 관련 데이터가 부정확하게 기록되며 연결하는 각 클라이언트의 시간대가 초기화 *예: system | +00:00 | +01:00 ... |
collation_connection collation_server | - 데이터베이스, 테이블, 또는 열의 문자 집합에 대한 정렬 규칙 정의 - 특정 character set(문자 집합) 내 문자열 비교, 정렬 방법 설정 | 잘못된 설정은 데이터 무결성 문제, 성능 저하, 비호환성 문제 발생 character set 관련 파라미터와의 조합에 따라 서비스에 영향을 미칠 수 있음 공식문서를 통한 설정 권장 |
character_set_client character_set_connection character_set_filesystem character_set_results character_set_server | - 데이터베이스, 테이블, 열에서 사용할 문자 집합을 지정 - 문자열 데이터를 저장하고 처리하는 방식에 영향을 미치며, 각 문자 집합마다 사용 가능 문자와 인코딩 방식 상이 | 잘못된 설정은 데이터 손상, 성능 저하, 비호환성 문제 발생 사용 환경에 맞는 적절한 character set 선택 필요 collation 관련 파라미터와의 조합에 따라 서비스에 영향을 미칠 수 있음 공식문서를 통한 설정 권장 |
파라미터에 사용되는 수식, 함수, 예약어
커스텀 파라미터 그룹 내 파라미터 중 일부는 수식, 함수, 예약어를 지원합니다. 숫자, 문자열 유형의 파라미터에 대해서만 사용할 수 있습니다.
계산식을 사용한 결과 값은 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) }
파라미터 그룹 복사
커스텀 파라미터 그룹에서는 복사 기능을 제공하며 백업용으로 사용할 수 있습니다. 선택한 파라미터 그룹을 복사하여 새로운 파라미터 그룹을 만듭니다.
- 카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.
- Parameter Group 메뉴를 클릭하고 커스텀 그룹 탭을 선택합니다.
- 복사할 파라미터 그룹을 확인한 뒤 [더 보기] 아이콘 > 복사를 선택합니다.
- 파라미터 그룹 복사 팝업창에서 입력 정보를 확인한 후 [확인] 버튼을 클릭합니다.
- 커스텀 그룹 탭에서 복사된 파라미터 그룹을 확인합니다.
파라미터 그룹 초기값으로 재설정
커스텀 파라미터 그룹에서는 파라미터의 값을 변경한 후에 다시 초기값으로 재설정할 수 있는 기능을 제공합니다. 초기값이란 파라미터 그룹을 만들 때 선택한 엔진 버전에서 기본적으로 제공하는 디폴트값을 의미합니다. 초기값으로 재설정을 하게되면 연결된 인스턴스 그룹 전체에 일괄적으로 파라미터 변경을 시도합니다.
- 연결된 인스턴스 그룹의 파라미터 반영 상태가 Pending, Applying인 경우에는 파라미터를 초기값으로 재설정할수 없습니다.
Static
유형인 파라미터가 초기화되는 경우에는 연결된 인스턴스 그룹이 재시작됩니다.
- 카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.
- Parameter Group 메뉴를 클릭하고 커스텀 그룹 탭을 선택합니다.
- 초기값으로 재설정할 파라미터 그룹을 확인한 뒤 [더 보기] 아이콘 > 파라미터 초기값으로 재설정을 선택합니다.
- 파라미터 초기값으로 재설정 팝업창에서 안내사항을 확인한 후 [확인] 버튼을 클릭합니다.
인스턴스 그룹에 연결된 파라미터 그룹이 복수개인 경우, 파라미터 적용 방식을 선택할 수 있습니다.일괄반영
: 수정된 파라미터를 모든 인스턴스 그룹에 일괄 반영합니다.
순차반영
: 수정된 파라미터를 인스턴스 그룹에 연속해서 반영합니다. - 연결된 인스턴스 그룹이 있는 경우, 각 인스턴스 그룹의 파라미터 반영 상태로 재설정이 잘 반영되었는지 확인합니다.
파라미터 그룹 롤백
커스텀 파라미터 그룹에서는 파라미터 값을 수정한 후 직전 값으로 변경할 수 있도록 롤백 기능을 제공합니다. 파라미터 그룹을 롤백하기 직전에 수정된 이력이 있는 경우에만 사용 가능한 기능입니다.
- 연결된 인스턴스 그룹의 파라미터 반영 상태가 Pending, Applying인 경우에는 파라미터 그룹은 롤백할 수 없습니다.
Static
유형인 파라미터가 롤백되는 경우에는 연결된 인스턴스 그룹이 재시작됩니다.- 롤백을 수행한 후에는 이미 직전의 수정 이력으로 변경되었기 때문에 더 이전의 수정이력으로 롤백할 수는 없습니다. 롤백 후 다시 파라미터를 수정하게 되면 수정 이력이 생기므로 다시 롤백을 사용할 수 있습니다.
- 카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.
- Parameter Group 메뉴를 클릭하고 커스텀 그룹 탭을 선택합니다.
- 롤백할 파라미터 그룹을 확인한 뒤 [더 보기] 아이콘 > 롤백을 선택합니다.
- 파라미터 그룹 롤백 팝업창에서 안내 사항을 확인하고, [확인] 버튼을 클릭합니다.
- 연결된 인스턴스 그룹이 있는 경우, 각 인스턴스 그룹의 파라미터 반영 상태로 롤백이 잘 반영되었는지 확인합니다.
파라미터 그룹 삭제
커스텀 파라미터 그룹을 더 이상 사용하지 않는 경우, 파라미터 그룹을 삭제할 수 있습니다.
- 기본 파라미터 그룹은 삭제할 수 없습니다.
- 연결된 인스턴스 그룹이 있는 경우에는 파라미터 그룹을 삭제할 수 없습니다.
- 카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.
- Parameter Group 메뉴를 클릭하고 커스텀 그룹 탭을 선택합니다.
- 선삭제할 파라미터 그룹을 확인한 뒤 [더 보기] 아이콘 > 삭제를 선택합니다.
- 파라미터 그룹 삭제 팝업창에서 입력 정보를 작성한 후 [확인] 버튼을 클릭합니다.
- 커스텀 그룹 탭에서 파라미터 그룹이 삭제되었는지 확인합니다.
파라미터 그룹 반영 재시도
연결된 인스턴스의 파라미터 반영 상태가 In-Sync
가 아닌 Error-Sync
, Suspended
일 때만 파라미터 반영을 재시도할 수 있습니다.
파라미터 반영 상태에 대한 자세한 설명은 파라미터 반영 상태 참고하시기 바랍니다.
- 카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.
- Parameter Group 메뉴를 클릭하고 커스텀 그룹 탭을 선택합니다.
- 선택한 탭에 맞는 Parameter Group 메뉴로 이동한 뒤 상세 정보를 조회할 파라미터 그룹을 선택합니다.
- 연결된 인스턴스 그룹 탭으로 이동합니다.
- 재시도할 인스턴스의 [재시도] 버튼을 클릭합니다.