18.3.4.3 MySQL Cluster 시스템 변수
이 섹션에서는 MySQL Cluster 및 NDB
스토리지 엔진에 고유의 MySQL 서버 시스템 변수에 대해 자세히 설명합니다. MySQL Cluster에 관련되지 않은 시스템 변수 내용은 섹션 5.1.4 "서버 시스템 변수" 를 참조하십시오. 시스템 변수 사용에 대한 일반 정보는 섹션 5.1.5 "시스템 변수 사용" 을 참조하십시오.
have_ndbcluster
표 18.33 have_ndbcluster의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 have_ndbcluster
아니오 예 아니오 아니오 Global 아니오 NDB 7.3 boolean 설명 : mysqld가 NDB Cluster 테이블을 지원할지 여부 (--ndbcluster 옵션으로 설정됩니다).
mysqld가
NDBCLUSTER
테이블을 지원하면YES
.--skip-ndbcluster
이 사용되는 경우는DISABLED
.이 변수는 사용되지 않으며, MySQL 5.6에서 삭제되어 있습니다. 대신
SHOW ENGINES
을 사용하십시오.ndb_autoincrement_prefetch_sz
표 18.34 ndb_autoincrement_prefetch_sz의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_autoincrement_prefetch_sz
예 예 아니오 예 모두 예 NDB 7.3 integer 32 / 1 - 256 5.0.56 integer 1 / 1 - 256 5.1.1 integer 32 / 1 - 256 5.1.23 integer 1 / 1 - 256 5.1.16-ndb-6.2.0 integer 32 / 1 - 256 5.1.23-ndb-6.2.10 integer 1 / 1 - 256 5.1.19-ndb-6.3.0 integer 32 / 1 - 256 5.1.23-ndb-6.3.7 integer 1 / 1 - 256 5.1.41-ndb-6.3.31 integer 1 / 1 - 65536 5.1.30-ndb-6.4.0 integer 32 / 1 - 256 5.1.41-ndb-7.0.11 integer 1 / 1 - 65536 5.5.15-ndb-7.2.1 integer 1 / 1 - 65536 설명 : NDB 자동 증가 값의 프리 페치 크기
자동 증가 컬럼 간격의 가능성을 지정합니다. 이를 최소화하려면
1
로 설정합니다. 최적화하는 데 큰 값으로 설정하면 삽입은 빨라집니다 만, 일련의 삽입에 연속적인 자동 증가 번호가 사용되는 가능성은 줄어 듭니다. 최소 및 기본값은 1입니다.ndb_autoincrement_prefetch_sz
의 최대 값은 65536입니다.이 변수는 문 사이에서 인출되는
AUTO_INCREMENT
ID의 수에만 영향을줍니다. 특정 명령문에서 한 번에 적어도 32 개의 ID가 검색됩니다. 기본값은 1입니다.중요이 변수는
INSERT ... SELECT
를 사용하여 실행되는 삽입에 영향을주지 않습니다.ndb_cache_check_time
표 18.35 ndb_cache_check_time의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_cache_check_time
예 예 아니오 예 Global 예 NDB 7.3 integer 0 / - 설명 : MySQL 쿼리 캐시에 의해 수행되는 클러스터 SQL 노드의 체크 사이의 밀리 초
MySQL 쿼리 캐시 의한 MySQL Cluster SQL 노드의 체크 간의 경과 밀리 세컨드 수. 이것을 0 (기본 및 최소 값)로 설정하면 쿼리 캐시에서 모든 쿼리의 타당성이 확인됩니다.
이 변수의 권장 최대 값은 1000입니다. 이것은 체크가 초당 1 회 행해지는 것을 의미합니다. 더 큰 값으로하면 검사가 수행되고, 경우에 따라서는 다른 SQL 노드에서 업데이트를 위해 무효화 빈도가 줄어 듭니다. 이것을 2000보다 큰 값으로 설정하는 것은 일반적으로 바람직하지 않습니다.
ndb_deferred_constraints
표 18.36 ndb_deferred_constraints의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_deferred_constraints
예 예 아니오 예 모두 예 NDB 7.3 integer 0 / 0 - 1 설명 : 제약 조건 검사 (지원되는 경우)를 지연시키는 것을 지정합니다. 보통은 필요없고, 사용되지 않습니다. 테스트 목적으로 만 사용됩니다.
제약 조건 검사가 지원되는 경우에, 그것을 지연할지 여부를 제어합니다.
0
이 기본값입니다.이 변수는 MySQL Cluster 또는 MySQL Cluster 복제 작업은 일반적으로 불필요하며 주로 테스트에서의 사용을 목적으로하고 있습니다.
ndb_distribution
표 18.37 ndb_distribution의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_distribution
예 예 아니오 예 Global 예 NDB 7.3 enumeration KEYHASH / LINHASH, KEYHASH 설명 : NDBCLUSTER 새 테이블의 기본 배포 (KEYHASH 또는 LINHASH 기본은 KEYHASH)
NDB
테이블의 기본 분배 방법을 제어합니다.KEYHASH
(키 해시) 또는LINHASH
(선형 해시) 중 하나로 설정할 수 있습니다.KEYHASH
이 기본입니다.ndb_eventbuffer_max_alloc
표 18.38 ndb_eventbuffer_max_alloc의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_eventbuffer_max_alloc
예 예 아니오 예 Global 예 NDB 7.3 integer 0 / 0 - 4294967295 설명 : NDB API의 이벤트 버퍼링을 위해 할당 할 수있는 최대 메모리. 기본적으로 0 (제한 없음)입니다.
NDB API의 이벤트 버퍼링에 할당 가능한 최대 메모리 량 (바이트 단위)을 설정합니다. 0은 기본적으로 제한이 적용되지 않습니다.
이 변수는 MySQL Cluster NDB 7.3.3에서 추가되었습니다.
ndb_extra_logging
표 18.39 ndb_extra_logging의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_extra_logging
예 예 아니오 예 Global 예 NDB 7.3 integer 0 / - 5.1.19-ndb-6.3.0 integer 1 / - 설명 : MySQL Cluster 스키마 연결 및 데이터 배포 이벤트, MySQL 에러 로그에 로깅을 제어
이 변수는
NDB
스토리지 엔진에 관련 정보를 MySQL 에러 로그에 기록 할 수 있도록합니다.이 변수를 0으로 설정하면 MySQL 오류 로그에 기록되는
NDB
관련 정보가 트랜잭션 처리에 관한 것만이됩니다. 0보다 크고 10보다 작은 값으로 설정하면NDB
테이블 스키마 이벤트와 연결 이벤트 충돌 해결의 사용 유무 및NDB
기타 오류 정보도 기록됩니다. 값을 10 이상으로 설정하면NDB
의 내부 정보 (클러스터 노드 간의 데이터 분배의 진행 상황 등)도 MySQL 에러 로그에 기록됩니다. 기본값은 1입니다.ndb_force_send
표 18.40 ndb_force_send의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_force_send
예 예 아니오 예 모두 예 NDB 7.3 boolean TRUE 설명 : 다른 스레드를 기다리지 않고 즉시 버퍼를 NDB에 강제로 전송
다른 thread를 대기하지 않고 버퍼를
NDB
에 즉시 전송합니다. 기본값은ON
입니다.ndb_index_stat_cache_entries
표 18.41 ndb_index_stat_cache_entries의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_index_stat_cache_entries
예 예 아니오 예 모두 예 NDB 7.3 integer 32 / 0 - 4294967295 설명 : 시작 키와 종료 키의 수를 결정함으로써 통계의 입도를 설정
통계 메모리 캐시에 저장 시작 키와 종료 키의 수를 지정하여 통계의 입도를 설정합니다. 0에서 캐시되지 않습니다. 이 경우 데이터 노드는 항상 직접 쿼리됩니다. 기본값 :
32
.참고ndb_index_stat_enable
가OFF
의 경우이 변수를 설정해도 무효가됩니다.이 변수는 MySQL 5.1에서 사용되지 않으며, MySQL Cluster NDB 7.3.5 이상에서는 삭제되어 있습니다.
ndb_index_stat_enable
표 18.42 ndb_index_stat_enable의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_index_stat_enable
예 예 아니오 예 모두 예 NDB 7.3 boolean OFF 5.5.15-ndb-7.2.1 boolean ON 설명 : 쿼리 최적화 NDB 인덱스 통계를 사용
쿼리 최적화
NDB
인덱스 통계를 사용합니다. 기본값은ON
입니다.ndb_index_stat_option
표 18.43 ndb_index_stat_option의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_index_stat_option
예 예 아니오 예 모두 예 NDB 7.3 string loop_enable = 1000ms, loop_idle = 1000ms, loop_busy = 100ms, update_batch = 1, read_batch = 4, idle_batch = 32, check_batch = 8, check_delay = 10m, delete_batch = 8, clean_delay = 1m, error_batch = 4, error_delay = 1m, evict_batch = 8 evict_delay = 1m, cache_limit = 32M, cache_lowpct = 90, zero_total = 0 5.1.56-ndb-7.1.17 string loop_checkon = 1000ms, loop_idle = 1000ms, loop_busy = 100ms, update_batch = 1, read_batch = 4, idle_batch = 32, check_batch = 32, check_delay = 1m, delete_batch = 8, clean_delay = 0, error_batch = 4, error_delay = 1m, evict_batch = 8 evict_delay = 1m, cache_limit = 32M, cache_lowpct = 90 설명 : NDB 인덱스 통계의 조정 가능한 옵션의 쉼표로 구분 된 목록입니다. 목록은 공백을 포함 할 수 없습니다
이 변수는 NDB 인덱스 통계를 생성하기위한 조정 옵션을 제공하는 데 사용됩니다. 이 목록은 쉼표로 구분 된 옵션 이름과 값의 이름 / 값 쌍으로 구성됩니다. 이 목록에 공백을 넣을 수 없습니다.
ndb_index_stat_option
설정시 사용하지 않은 옵션은 기본값에서 변경할 수 없습니다. 예를 들어,ndb_index_stat_option = 'loop_idle=1000ms,cache_limit=32M'
과 같이 설정할 수 있습니다.옵션에서 시간 값의 접미사로
s
(초) 또는ms
(밀리 세컨드)를 사용할 수 있습니다. 정수 접미사로K
,M
또는G
를 사용할 수 있습니다.이 변수를 사용하여 설정할 수있는 옵션의 이름을 다음 표에 나타냅니다. 이 표에는 옵션에 대한 간단한 설명, 기본값 및 (적용 가능한 경우) 최소 및 최대 값을 보여줍니다.
이름 설명 기본 / 단위 최소 / 최대 loop_enable
1000 ms 0 / 4G loop_idle
유휴 수면 시간 1000 ms 0 / 4G loop_busy
추가 작업이 대기하고있을 때의 수면 시간 100 ms 0 / 4G update_batch
1 0 / 4G read_batch
4 1 / 4G idle_batch
32 1 / 4G check_batch
8 1 / 4G check_delay
새로운 통계를 확인하는 빈도 10 ms 1 / 4G delete_batch
8 0 / 4G clean_delay
1 ms 0 / 4G error_batch
4 1 / 4G error_delay
1 ms 1 / 4G evict_batch
8 1 / 4G evict_delay
LRU 캐시를 삭제합니다 (읽기시부터) 1 ms 0 / 4G cache_limit
이 mysqld가 캐시 된 인덱스 통계를 위해 사용하는 메모리의 최대 크기 (바이트 단위). 이를 초과하면 캐시를 정리합니다. 32 M 0 / 4G cache_lowpct
90 0/100 zero_total
이것을 1로 설정하면 ndb_index_stat_status
의 모든 누적 카운터가 0으로 재설정됩니다. 이것이 완료되면이 옵션 값을 0으로 재설정됩니다.0 0/1 ndb_index_stat_update_freq
표 18.44 ndb_index_stat_update_freq의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_index_stat_update_freq
예 예 아니오 예 모두 예 NDB 7.3 integer 20 / 0 - 4294967295 설명 : 통계 캐시가 아닌 데이터 노드를 쿼리하는 빈도
통계 캐시 대신에 데이터 노드를 쿼리하는 빈도. 예를 들어, 값
20
(기본값)에서 쿼리를 20 시간에 1 번 데이터 노드로 전송합니다.참고ndb_index_stat_cache_entries
가0
의 경우,이 변수를 설정해도 무효가됩니다. 이 경우에는 모든 쿼리가 데이터 노드에 직접 전송됩니다.이 변수는 MySQL 5.1에서 사용되지 않으며, MySQL Cluster NDB 7.3.5 이상에서는 삭제되어 있습니다.
ndb_join_pushdown
표 18.45 ndb_join_pushdown의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_join_pushdown
아니오 예 아니오 아니오 모두 예 5.1.51-ndb-7.2.0 boolean TRUE 설명 : 데이터 노드에 결합 푸시 다운을 활성화
이 변수는
NDB
테이블의 결합이 NDB 커널 (데이터 노드)에 푸시 다운되는지 여부를 제어합니다. 이전에는 SQL 노드가NDB
여러 액세스에 의해 결합이 처리되어 있었지만,ndb_join_pushdown
을 사용하면 푸시 가능한 결합의 모든 데이터 노드로 전송됩니다. 이 경우 결합은 데이터 노드 사이에서 분배 된 데이터의 여러 복사본을 병렬로 실행되는 단일 병합 된 결과가 mysqld에 반환됩니다. 따라서 이러한 결합을 처리하는 데 필요한 SQL 노드와 데이터 노드 간의 왕복 횟수를 크게 줄일 수 있습니다.기본적으로
ndb_join_pushdown
은 활성화되어 있습니다.결합을 밀어 가능하게하려면 다음의 조건을 충족해야합니다.
비교할 수있는 것은 열 뿐이며 결합되는 모든 열이 완전히 동일한 데이터 형식을 사용하고있을 필요가 있습니다.
즉
t1.a = t2.a +
같은 식 푸시 다운 할 수 없습니다. 또한 (예)constant
INT
컬럼과BIGINT
컬럼의 결합을 푸시 다운 할 수 없습니다.BLOB
또는TEXT
컬럼을 참조하는 쿼리는 지원되지 않습니다.명시적인 잠금은 지원되지 않습니다. 그러나
NDB
스토리지 엔진의 특징이다 암시 적 행 기반 잠금이 적용됩니다.이것은
FOR UPDATE
를 사용하여 결합을 푸시 다운 할 수 없다는 것을 의미합니다.결합을 푸시 다운하려면
ref
,eq_ref
또는const
접근 방법 중 하나 또는 이러한 방법의 조합을 사용하여 결합의 자식 테이블에 액세스해야합니다.외부 조인 된 자식 테이블은
eq_ref
만을 사용하여 전송할 수 있습니다.푸시 된 결합의 루트가
eq_ref
또는const
인 경우는eq_ref
의해 결합 된 자식 테이블 만 추가 할 수 있습니다. (ref
에 의해 결합 된 테이블은 푸시 된 결합의 다른 루트가 될 수 있습니다.)쿼리 최적화 프로그램에서 후보 자식 테이블에
Using join cache
를 지정하는 경우 해당 테이블은 자식으로 푸시 할 수 없습니다. 그러나 푸시 된 테이블의 다른 세트의 루트가 될 수 있습니다.[LINEAR] HASH
,LIST
또는RANGE
에 의해 명시 적으로 분할 된 테이블을 참조하는 결합은 현재 푸시 다운 할 수 없습니다.
특정 결합을 푸시 다운 할 수 있는지 여부를 확인하려면 그것을
EXPLAIN
으로 확인합니다. 결합을 푸시 다운 될 경우이 예와 같이 출력Extra
컬럼에pushed join
에 대한 참조가 표시됩니다.mysql>
EXPLAIN
->SELECT e.first_name, e.last_name, t.title, d.dept_name
->FROM employees e
->JOIN dept_emp de ON e.emp_no=de.emp_no
->JOIN departments d ON d.dept_no=de.dept_no
->JOIN titles t ON e.emp_no=t.emp_no\G
*************************** 1. row ******************** ******* id : 1 select_type : SIMPLE table : d type : ALL possible_keys : PRIMARY key : NULL key_len : NULL ref : NULL rows : 9 Extra : Parent of 4 pushed join @ 1 *************************** 2. row ******************** ******* id : 1 select_type : SIMPLE table : de type : ref possible_keys : PRIMARY, emp_no, dept_no key : dept_no key_len : 4 ref : employees.d.dept_no rows : 5305 Extra : Child of 'd'in pushed join @ 1 *************************** 3. row ******************** ******* id : 1 select_type : SIMPLE table : e type : eq_ref possible_keys : PRIMARY key : PRIMARY key_len : 4 ref : employees.de.emp_no rows : 1 Extra : Child of 'de'in pushed join @ 1 *************************** 4. row ******************** ******* id : 1 select_type : SIMPLE table : t type : ref possible_keys : PRIMARY, emp_no key : emp_no key_len : 4 ref : employees.de.emp_no rows : 19 Extra : Child of 'e'in pushed join @ 1 4 rows in set (0.00 sec)참고내부 조인 된 테이블이
ref
의해 결합되고, 또한 그 결과가 정렬 된 인덱스에 따라 정렬 또는 그룹화 된 경우,이 인덱스는 정렬 된 행을 제공하지 못하고, 정렬 된 임시 파일에 쓸 강제 됩니다.푸시 된 결합의 동작에 대해서는 추가 정보 소스가 2 개 있습니다.
상태 변수
Ndb_pushed_queries_defined
,Ndb_pushed_queries_dropped
,Ndb_pushed_queries_executed
및Ndb_pushed_reads
.DBSPJ
커널 블록에 속하는ndbinfo.counters
테이블의 카운터. 이 카운터는 섹션 18.5.10.7 "ndbinfo counters 테이블" 을 참조하십시오. "MySQL Cluster API Developer Guide」의 The DBSPJ Block 참조하십시오.
ndb_log_apply_status
표 18.46 ndb_log_apply_status의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_log_apply_status
예 예 아니오 예 Global 아니오 NDB 7.3 boolean OFF 설명 : 슬레이브로 작동하는 MySQL 서버가 직접 마스터에서받은 mysql.ndb_apply_status 업데이트를 자신의 서버 ID를 사용하여 자신의 바이너리 로그에 기록할지 여부.
--ndb-log-apply-status
옵션을 사용하여 서버가 시작되었는지 여부를 나타내는 읽기 전용 변수.ndb_log_bin
표 18.47 ndb_log_bin의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_log_bin
예 예 아니오 아니오 모두 예 NDB 7.3 boolean ON 설명 : NDB 테이블의 갱신을 바이너리 로그에 기록합니다. --log-bin 바이너리 로깅이 활성화되어있는 경우에만 유효합니다.
NDB
테이블의 업데이트가 바이너리 로그에 기록되게됩니다. 서버의 바이너리 로깅이 아직log_bin
를 사용하여 활성화되어 있지 않은 경우이 변수를 설정해도 무효가됩니다.ndb_log_bin
의 기본값은 1 (ON)입니다. 일반적으로 프로덕션 환경에서이 값을 변경할 필요가 없습니다.ndb_log_binlog_index
표 18.48 ndb_log_binlog_index의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_log_binlog_index
예 예 아니오 아니오 Global 예 NDB 7.3 boolean ON 설명 : 신기원과 바이너리 로그의 위치 사이의 매핑을 ndb_binlog_index 테이블에 삽입합니다. 기본적으로 ON됩니다. 서버에서 바이너리 로깅이 활성화되어있는 경우에만 유효합니다.
신기원과 바이너리 로그의 위치와 매핑이
ndb_binlog_index
테이블에 삽입되게됩니다. 서버의 바이너리 로깅이 아직log_bin
를 사용하여 활성화되어 있지 않은 경우이 변수를 설정해도 무효가됩니다. (또한ndb_log_bin
도 해제하지 마십시오.)ndb_log_binlog_index
의 기본값은1
(ON
)입니다. 일반적으로 프로덕션 환경에서이 값을 변경할 필요가 없습니다.ndb_log_empty_epochs
표 18.49 ndb_log_empty_epochs의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_log_empty_epochs
예 예 아니오 예 Global 예 NDB 7.3 boolean OFF 설명 : 유효한 경우 log_slave_updates가 유효하더라도 변경이 없었던 시대가 ndb_apply_status 및 ndb_binlog_index 테이블에 기록됩니다.
이 변수를 0으로 설정하면 변경이 없었던 시대 트랜잭션이 바이너리 로그에 기록되지 않습니다 만,
ndb_binlog_index
는 empty의 신기원 줄도 기록됩니다.ndb_log_exclusive_reads
표 18.50 ndb_log_exclusive_reads의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_log_exclusive_reads
예 예 아니오 예 모두 예 NDB 7.3 boolean 0 설명 : 배타적 락에 의한 기본 키의 읽기를 기록합니다. 읽기 충돌에 따른 충돌 해결을 허용합니다.
MySQL Cluster NDB 7.4.1 이상에서는이 변수는 기본 키의 읽기를 배타적 잠금으로 기록할지 여부를 지정합니다. 이렇게하면 읽기의 경쟁을 기반으로 MySQL Cluster 복제 충돌 감지 및 해결이 가능합니다. 이 잠금을 활성화하려면
ndb_log_exclusive_reads
의 값을 1로 설정합니다. 0 (이러한 잠금을 해제하기)이 기본입니다.자세한 내용은 읽기 충돌 감지 및 해결 을 참조하십시오.
ndb_log_orig
표 18.51 ndb_log_orig의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_log_orig
예 예 아니오 예 Global 아니오 NDB 7.3 boolean OFF 설명 : 발신 서버의 ID와 신기원이 mysql.ndb_binlog_index 테이블에 기록되는지 여부. mysqld를 시작할 때 --ndb-log-orig 옵션을 사용하여 설정합니다.
원본 서버의 ID와 신기원이
ndb_binlog_index
테이블에 기록되는지 여부를 나타냅니다.--ndb-log-orig
서버 옵션을 사용하여 설정합니다.ndb_log_transaction_id
표 18.52 ndb_log_transaction_id의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_log_transaction_id
아니오 예 아니오 아니오 Global 아니오 NDB 7.3 boolean OFF 설명 : NDB 트랜잭션 ID가 바이너리 로그에 기록되는지 여부. (읽기 전용)
이 읽기 전용 boolean 시스템 변수는 슬레이브 mysqld가 ( "활성 - 활성"형의 MySQL Cluster 복제를
NDB$EPOCH_TRANS()
충돌 감지와 함께 사용하는 데 필요한) NDB 트랜잭션 ID를 바이너리 로그에 기록할지 여부를 나타냅니다. 이 설정을 변경하려면--ndb-log-transaction-id
옵션을 사용합니다.메인 라인의 MySQL Server 5.6에서는
ndb_log_transaction_id
는 지원되지 않습니다.자세한 내용은 섹션 18.6.11 "MySQL Cluster 복제 충돌 해결" 을 참조하십시오.
ndb_optimized_node_selection
표 18.53 ndb_optimized_node_selection의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_optimized_node_selection
예 예 아니오 예 Global 아니오 NDB 7.3 boolean ON 5.1.22-ndb-6.3.4 integer 3 / 0 - 3 설명 : SQL 노드가 트랜잭션 코디네이터로 사용하기 위해 클러스터 데이터 노드를 선택하는 방법을 결정
최적화 된 노드의 선택은 여기에서 보여주는 두 가지 형태가 있습니다.
SQL 노드는 근접을 사용하여 트랜잭션 코디네이터를 지정합니다. 즉, SQL 노드에서 "가장 가까운"데이터 노드가 트랜잭션 코디네이터로 선택됩니다. 이 지정은 SQL 노드와 공유 메모리 연결을 가진 데이터 노드가 SQL 노드에서 "가장 가까운"로 간주됩니다. 다음 가까운 것은 (근접성이 낮아지는 순서대로)
localhost
에 TCP 연결 SCI 연결localhost
이외의 호스트에서 TCP 연결입니다.SQL 스레드는 분포의 인식을 사용하여 데이터 노드를 선택합니다. 즉, 특정 트랜잭션의 첫 번째 문에 의해 액세스되는 클러스터 파티션을 수용하는 데이터 노드가 전체 트랜잭션의 트랜잭션 코디네이터로 사용됩니다. (이것은 트랜잭션의 첫 번째 명령문이 하나의 클러스터 파티션 만 액세스하지 않는 경우에만 유효합니다.)
이 옵션은
0
,1
,2
또는3
중 하나의 정수 값을 취합니다.3
이 기본입니다. 이 값은 노드 선택에 다음과 같이 영향을줍니다.0
: 노드 선택은 최적화되지 않습니다. SQL 스레드가 다음 데이터 노드로 이동하기 전에 각 데이터 노드가 트랜잭션 코디네이터로 8 회씩 채용됩니다.1
: SQL 노드에 근접를 사용하여 트랜잭션 코디네이터가 지정됩니다.2
: 분포의 인식을 사용하여 트랜잭션 코디네이터가 선택됩니다. 그러나 트랜잭션의 첫 번째 문이 여러 클러스터 파티션에 액세스하려면 SQL 노드는이 옵션을0
으로 설정했을 때 볼 수있는 라운드 로빈 동작으로 돌아갑니다.3
: 트랜잭션 코디네이터를 지정하기 위해 분포의 인식을 사용할 수있는 경우, 그것이 사용됩니다. 그렇지 않은 경우는 근접을 사용하여 트랜잭션 코디네이터가 선택됩니다. (이것은 기본 동작입니다.)
ndb_recv_thread_activation_threshold
표 18.54 ndb_recv_thread_activation_threshold의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_recv_thread_activation_threshold
아니오 아니오 아니오 아니오 아니오 5.6.10-ndb-7.3.1 integer 8 / 0 (MIN_ACTIVATION_THRESHOLD) - 16 (MAX_ACTIVATION_THRESHOLD) 설명 : 수신 스레드가 클러스터 연결 폴링을 점거 할 때 활성화 임계 값 (동시에 활성 스레드로 측정됩니다)
현재 활성 스레드가이 수에 도달하면 수신 스레드가 클러스터 연결 폴링을 수행합니다.
이 변수의 범위는 글로벌입니다. 또한
--ndb-recv-thread-activation-threshold
옵션을 사용하여 시작시 구성 할 수 있습니다.ndb_recv_thread_cpu_mask
표 18.55 ndb_recv_thread_cpu_mask의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_recv_thread_cpu_mask
아니오 예 아니오 아니오 Global 예 NDB 7.3 bitmap [empty] 설명 : 수신자 스레드를 특정 CPU에 고정하기위한 CPU 마스크. 16 진수로 지정됩니다. 자세한 내용은 문서를 참조하십시오.
받는 사람 스레드를 특정 CPU에 고정하기위한 CPU 마스크. 이것은 16 진수 비트 마스크로 지정됩니다. 예를 들어,
0x33
받는 사람 스레드 당 하나의 CPU를 사용합니다. 빈 문자열이 기본입니다.ndb_recv_thread_cpu_mask
을이 값으로 설정하면 이전에 설정된받는 사람 스레드의 락이 모두 삭제됩니다.이 변수의 범위는 글로벌입니다. 또한
--ndb-recv-thread-cpu-mask
옵션을 사용하여 시작시 구성 할 수 있습니다.ndb_report_thresh_binlog_epoch_slip
표 18.56 ndb_report_thresh_binlog_epoch_slip의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_report_thresh_binlog_epoch_slip
예 아니오 아니오 예 아니오 NDB 7.3 integer 3 / 0 - 256 설명 : 이것은 바이너리 로그 상태를보고하기 전에 지나서해야한다 신기원 수의 임계 값
이것은 바이너리 로그의 상태를보고 할 때까지 지연 신기원 수에 대한 임계 값입니다. 예를 들어, 값
3
(기본값)에서 스토리지 노드로부터 수신 한 시대와 바이너리 로그에 적용된 신기원의 차이가 3 이상이되면 상태 메시지가 클러스터 로그에 전송됩니다.ndb_report_thresh_binlog_mem_usage
표 18.57 ndb_report_thresh_binlog_mem_usage의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_report_thresh_binlog_mem_usage
예 아니오 아니오 예 아니오 NDB 7.3 integer 10 / 0 - 10 설명 : 이것은 바이너리 로그 상태를보고하기 전에 남아있는 여유 메모리의 비율의 임계 값입니다.
이것은 바이너리 로그의 상태를보고 할 때까지 잔존하는 여유 메모리의 비율에 대한 임계 값입니다. 예를 들어, 값
10
(기본값)에서 데이터 노드에서 바이너리 로그 데이터의 수신에 사용할 수있는 메모리 양이 10 % 미만이되면 상태 메시지가 클러스터 로그에 전송됩니다.slave_allow_batching
표 18.58 slave_allow_batching의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 slave_allow_batching
예 예 아니오 예 Global 예 NDB 7.3 boolean off 설명 : 복제 슬레이브 업데이트 일괄 처리를 켜고 끄려면
MySQL Cluster 복제 슬레이브로 배치 갱신이 유효한가 어떤가.
현재이 변수는 MySQL Cluster에 포함하거나 MySQL Cluster 소스에서 빌드 된 mysqld에서만 사용할 수 있습니다. 자세한 내용은 섹션 18.6.6 "MySQL Cluster 복제의 시작 (복제 채널이 하나)" 를 참조하십시오.
ndb_show_foreign_key_mock_tables
표 18.59 ndb_show_foreign_key_mock_tables의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_show_foreign_key_mock_tables
예 예 아니오 예 Global 예 NDB 7.3 boolean OFF 설명 : foreign_key_checks = 0을 지원하기 위해 사용되는 의사 테이블을 표시합니다.
NDB
가foreign_key_checks=0
의 지원에 사용하는 모의 테이블을 나타냅니다. 이것을 사용하면 테이블을 만들고 삭제할 때 추가 경고가 표시됩니다. 이 테이블의 실제 (내부의) 이름은SHOW CREATE TABLE
의 출력에 표시됩니다.ndb_slave_conflict_role
표 18.60 ndb_slave_conflict_role의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_slave_conflict_role
예 예 아니오 예 Global 예 NDB 7.3 enumeration NONE / NONE, PRIMARY, SECONDARY, PASS 설명 : 슬레이브가 충돌 감지 및 해결에 수행 역할. 값은 PRIMARY, SECONDARY, PASS, NONE (디폴트) 중 하나입니다. 슬레이브 SQL 쓰레드가 정지되는 경우에만 변경할 수 있습니다. 자세한 내용은 문서를 참조하십시오.
순환 ( "액티브 - 액티브") 복제 설정에서이 SQL 노드 (및 MySQL Cluster)의 역할을 지정합니다.
ndb_slave_conflict_role
는PRIMARY
,SECONDARY
,PASS
또는NULL
(디폴트) 중 하나의 값을 가질 수 있습니다.ndb_slave_conflict_role
를 변경하려면 그 전에 SQL 쓰레드를 중지해야합니다. 또한이를PASS
와PRIMARY
또는SECONDARY
중 하나 사이에서 직접 변경할 수 없습니다. 변경하는 경우에는 SQL 쓰레드가 정지하고있는 것을 확인하고 먼저SET @@GLOBAL.ndb_slave_conflict_role = 'NONE'
을 실행해야합니다.이 변수는 MySQL Cluster NDB 7.4.1에서 추가되었습니다. 자세한 내용은 섹션 18.6.11 "MySQL Cluster 복제 충돌 해결" 을 참조하십시오.
ndb_table_no_logging
표 18.61 ndb_table_no_logging의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_table_no_logging
아니오 예 아니오 아니오 세션 예 NDB 7.3 boolean FALSE 설명 :이 설정이 활성화 될 때 생성 된 NDB 테이블은 디스크에 체크 포인트를 설정하지 않습니다 (단, 테이블 스키마 파일이 생성됩니다). 테이블이 NDBCLUSTER로 작성되거나 그것을 사용하도록 변경된 때 유효한 설정은 테이블의 유효 기간 동안 유지됩니다.
이 변수를
ON
또는1
로 설정하면NDB
테이블의 체크 포인트가 디스크에 대해 실행되지 않게됩니다. 보다 구체적으로는,이 설정은ndb_table_no_logging
이 활성화되어있을 때ENGINE NDB
를 사용하여 작성 또는 변경된 테이블에 적용되고 나중에ndb_table_no_logging
가 변경된 경우에도 테이블에서 계속 적용 계속됩니다. 여기에 같이 테이블A
,B
,C
및D
를 생성하고 수정하여ndb_table_no_logging
설정도 변경했다고합니다.SET @@ ndb_table_no_logging = 1; CREATE TABLE A ... ENGINE NDB; CREATE TABLE B ... ENGINE MYISAM; CREATE TABLE C ... ENGINE MYISAM; ALTER TABLE B ENGINE NDB; SET @@ ndb_table_no_logging = 0; CREATE TABLE D ... ENGINE NDB; ALTER TABLE C ENGINE NDB; SET @@ ndb_table_no_logging = 1;
이전 일련의 이벤트 후 테이블
A
와B
의 체크 포인트는 실행되지 않습니다 (A
는ENGINE NDB
를 사용하여 생성되고 B는NDB
를 사용하도록 변경되었습니다 만, 모두ndb_table_no_logging
의 유효시에 행해진 위해). 그러나 테이블C
와D
는 기록됩니다 (C
는NDB
를 사용하도록 변경되며,D
는ENGINE NDB
를 사용하여 작성 되었으나 모두ndb_table_no_logging
의 해제시에 행해진 위해).ndb_table_no_logging
를1
또는ON
으로 다시 설정해도 테이블C
또는D
의 체크 포인트는 실행되지 않습니다.참고ndb_table_no_logging
는NDB
테이블 스키마 파일의 작성은 무효가됩니다. 이를 지원하려면 대신ndb_table_temporary
을 사용하십시오.ndb_table_temporary
표 18.62 ndb_table_temporary의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_table_temporary
아니오 예 아니오 아니오 세션 예 NDB 7.3 boolean FALSE 설명 : NDB 테이블은 디스크에 영구적이지 않습니다. 스키마 파일은 생성되지 않고 테이블은 기록되지 않습니다
이 변수를
ON
또는1
로 설정하면NDB
테이블이 디스크에 기록되지 않습니다. 이것은 테이블 스키마 파일이 생성되지 않고 테이블이 기록되지 않는 것을 의미합니다.참고MySQL Cluster NDB 7.0 이상에서는 현재이 변수를 설정해도 무효가됩니다. 이것은 알려진 문제입니다. Bug # 34036를 참조하십시오.
ndb_use_copying_alter_table
표 18.63 ndb_use_copying_alter_table의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_use_copying_alter_table
아니오 예 아니오 아니오 모두 아니오 설명 : MySQL Cluster에서 ALTER TABLE 작업 복사를 사용
온라인
ALTER TABLE
조작에 문제가 발생했을 때NDB
의해 테이블의 복사본을 강제로 사용됩니다. 기본값은OFF
입니다.ndb_use_exact_count
표 18.64 ndb_use_exact_count의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_use_exact_count
아니오 예 아니오 아니오 모두 예 NDB 7.3 boolean ON 5.1.47-ndb-7.1.8 boolean OFF 설명 : 쿼리를 계획 할 때 정확한 행수를 사용
SELECT COUNT(*)
쿼리에서이 유형의 쿼리의 속도를 계획 할 때NDB
의해 레코드 카운트가 강제로 사용됩니다. 기본값은OFF
에서 전체 쿼리 속도가 빨라집니다.ndb_use_transactions
표 18.65 ndb_use_transactions의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_use_transactions
예 예 아니오 예 모두 예 NDB 7.3 boolean ON 설명 : SELECT COUNT (*) 쿼리 계획 중에 강제로 NDB에 레코드 수를 사용하여이 유형의 쿼리 속도시키는
NDB
트랜잭션 지원을 비활성화하려면이 변수의 값을OFF
로 설정합니다 (권장하지 않음). 기본값은ON
입니다.ndb_version
표 18.66 ndb_version의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_version
아니오 예 아니오 아니오 Global 아니오 NDB 7.3 string 설명 : 빌드 및 NDB 엔진의 버전을 정수로 표시합니다.
NDB
엔진 버전 (합성 정수로).ndb_version_string
표 18.67 ndb_version_string의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndb_version_string
아니오 예 아니오 아니오 Global 아니오 NDB 7.3 string 설명 : NDB 엔진의 버전을 포함한 빌드 정보를 ndb-xyz 형식으로 표시합니다.
NDB
엔진 버전 (ndb-
형식).xyz
server_id_bits
표 18.68 server_id_bits의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 server_id_bits
예 예 아니오 예 Global 아니오 NDB 7.3 integer 32 / 7 - 32 설명 : --server-id-bits 옵션이 기본값이 아닌 값으로 설정된 상태에서 서버가 실행 된 경우 server_id의 유효한 값.
--server-id-bits
옵션을 기본값이 아닌 값으로 설정하고 서버를 시작한 경우의server_id
의 유효 값.server_id
의 값이 2server_id_bits
승 이상의 경우, mysqld는 시작을 거부합니다.이 시스템 변수는 MySQL Cluster에서만 지원됩니다.
server_id_bits
표준 MySQL Server에서 지원되지 않습니다.transaction_allow_batching
표 18.69 transaction_allow_batching의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 transaction_allow_batching
아니오 예 아니오 아니오 세션 예 NDB 7.3 boolean FALSE 설명 : 트랜잭션 내에서 문 일괄 처리를 허용합니다. 사용하려면 AUTOCOMMIT을 해제합니다.
이 변수를
1
또는ON
으로 설정하면 동일한 트랜잭션에서 문 일괄 처리를 사용할 수 있습니다. 이 변수를 사용하려면 먼저autocommit
를0
또는OFF
로 설정하고 해제해야합니다. 이렇게하지 않으면transaction_allow_batching
을 설정해도 무효가됩니다.이 변수는 사용하면 "이전"이미지에서 읽 가능성이 있기 때문에 쓰기만을 수행하는 트랜잭션에서 사용하는 것이 안전합니다.
SELECT
를 발행하기 전에 (필요한 경우 명시 적COMMIT
을 사용하여) 보류중인 트랜잭션을 안정적으로 커밋하도록하십시오.중요특정 명령문의 효과가 같은 트랜잭션의 이전 문의 결과에 의존 할 가능성이있는 경우
transaction_allow_batching
를 사용하지 마십시오.이 변수는 현재 MySQL Cluster에서만 지원됩니다.
다음 목록 시스템 변수는 모든 ndbinfo
정보 데이터베이스와 관련된 것입니다.
ndbinfo_database
표 18.70 ndbinfo_database의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndbinfo_database
아니오 예 아니오 아니오 Global 아니오 NDB 7.3 string ndbinfo 설명 : NDB 정보 데이터베이스에 사용되는 이름입니다. 읽기 전용.
NDB
정보 데이터베이스에 사용되는 이름을 나타냅니다. 기본값은ndbinfo
입니다. 이것은 컴파일시에 값이 지정되는 읽기 전용 변수입니다. 이것을 설정하려면--ndbinfo-database=
을 사용하여 서버를 시작합니다. 따라서이 변수로 나타나는 값이 설정되어 있지만, NDB 정보 데이터베이스에 사용되는 이름은 실제로는 변경되지 않습니다.name
ndbinfo_max_bytes
표 18.71 ndbinfo_max_bytes의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndbinfo_max_bytes
예 예 아니오 아니오 모두 예 NDB 7.3 integer 0 / - 설명 : 디버깅에만 사용됩니다.
테스트 및 디버깅에만 사용됩니다.
ndbinfo_max_rows
표 18.72 ndbinfo_max_rows의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndbinfo_max_rows
예 예 아니오 아니오 모두 예 NDB 7.3 integer 10 / - 설명 : 디버깅에만 사용됩니다.
테스트 및 디버깅에만 사용됩니다.
ndbinfo_offline
표 18.73 ndbinfo_offline의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndbinfo_offline
아니오 예 아니오 아니오 Global 예 NDB 7.3 boolean OFF 설명 : ndbinfo 데이터베이스를 오프라인 모드로합니다. 이 경우 테이블이나 뷰에서 행이 반환되지 않습니다.
ndbinfo
데이터베이스를 오프라인 모드로합니다. 오프라인 모드에서는 테이블이나 뷰가 실제로 존재하지 않거나 존재하지만NDB
의 정의가 다른 경우 테이블이나 뷰를 열 수 있습니다. 이러한 테이블 또는 뷰에서 행은 반환되지 않습니다.ndbinfo_show_hidden
표 18.74 ndbinfo_show_hidden의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndbinfo_show_hidden
예 예 아니오 아니오 모두 예 NDB 7.3 boolean OFF 설명 : ndbinfo 내부 기본 테이블을 mysql 클라이언트에 표시할지 여부. 기본값은 OFF입니다.
ndbinfo
데이터베이스의 기반이되는 내부 테이블이mysql
클라이언트에 표시되는지 여부. 기본값은OFF
입니다.ndbinfo_table_prefix
표 18.75 ndbinfo_table_prefix의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndbinfo_table_prefix
예 예 아니오 아니오 모두 예 NDB 7.3 string ndb $ 설명 : ndbinfo 내부 기본 테이블의 명명에 사용하는 접두어
ndbinfo 데이터베이스의 기본 테이블 (
ndbinfo_show_hidden
을 설정하고 공개되지 않는 한 일반적으로 숨겨져 있습니다)의 이름에 사용되는 접두어. 이것은 읽기 전용 변수이며, 기본값은 "ndb$
"입니다. 서버 시작시--ndbinfo-table-prefix
옵션을 사용할 수 있지만, 그 경우이 변수가 설정 될뿐만 숨겨진 기본 테이블의 이름에 사용되는 실제 프리픽스는 변경되지 않습니다. 프리픽스 자체는 컴파일시에 지정됩니다.ndbinfo_version
표 18.76 ndbinfo_version의 형식과 값 정보
명령 행 시스템 변수 상태 변수 옵션 파일 범위 동적 시작 버전 유형 기본 범위 메모 ndbinfo_version
아니오 예 아니오 아니오 Global 아니오 NDB 7.3 string 설명 : ndbinfo 엔진 버전. 읽기 전용.
사용중인
ndbinfo
엔진의 버전을 나타냅니다 (읽기 전용).