• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 1. MySQL Cluster 개요
    2. MySQL Cluster 설치
    3. MySQL Cluster 설정
    1. MySQL Cluster의 빠른 테스트 설정
    2. MySQL Cluster 구성 매개 변수의 개요
    3. MySQL Cluster 구성 파일
    1. MySQL Cluster 구성의 기본적인 예제
    2. MySQL Cluster의 권장 초기 구성
    3. MySQL Cluster의 연결 문자열
    4. MySQL Cluster의 컴퓨터의 정의
    5. MySQL Cluster 관리 서버의 정의
    6. MySQL Cluster 데이터 노드의 정의
    7. MySQL Cluster의 SQL 노드 및 기타 API 노드의 정의
    8. MySQL 클러스터의 TCP/IP 연결
    9. 직접 연결을 사용하는 MySQL Cluster의 TCP/IP 연결
    10. MySQL Cluster의 공유 메모리 연결
    11. MySQL Cluster에서 SCI 전송 연결
    12. MySQL Cluster의 전송 버퍼 매개 변수 구성
    4. MySQL Cluster용 MySQL Server 옵션 및 변수
    5. MySQL Cluster에서 고속 인터커넥트 사용
    4. MySQL Cluster 프로그램
    5. MySQL Cluster 관리
    6. MySQL Cluster Replication
    7. MySQL Cluster Release Notes
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

18.3.3.7 MySQL Cluster의 SQL 노드 및 기타 API 노드의 정의

config.ini 파일의 [mysqld] 및 [api] 섹션은 클러스터 데이터에 액세스하는 데 사용되는 MySQL 서버 (SQL 노드) 및 기타 응용 프로그램 (API 노드)가 정의됩니다. 표시된 어떤 매개 변수도 필요하지 않습니다. 컴퓨터 이름 또는 호스트 이름이 지정되어 있지 않으면 모든 호스트에서이 SQL 또는 API 노드를 사용할 수 있습니다.

일반적으로는 [mysqld] 섹션은 클러스터에 SQL 인터페이스를 제공하는 MySQL 서버를 나타내는 데 사용되며 [api] 섹션은 클러스터 데이터에 액세스 할 mysqld 프로세스 이외의 응용 프로그램을 위해 사용되지만, 이 두 값은 실제로는 동의어이다. 예를 들어, SQL 노드 역할을하는 MySQL 서버의 매개 변수를 [api] 섹션에 지정할 수 있습니다.

참고

MySQL Cluster 용 MySQL 서버 옵션은 섹션 18.3.4.2 "MySQL Cluster 용 MySQL Server 옵션" 을 참조하십시오. MySQL Cluster 관련 MySQL 서버 시스템 변수는 섹션 18.3.4.3 "MySQL Cluster 시스템 변수" 를 참조하십시오.

  • Id

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0unsigned[none]1 - 255IS
    Id 모든 클러스터 내부 메시지에서 노드를 식별하는 데 사용되는 정수 값입니다. 허용되는 값의 범위는 1-255 (이들을 포함)입니다. 이 값은 노드의 유형에 관계없이 클러스터의 각 노드에서 고유해야합니다.
    참고

    데이터 노드 ID는 사용하는 MySQL Cluster 버전에 관계없이 49 미만이어야합니다. 다수의 데이터 노드를 배치하려는 경우, API 노드 (관리 노드)의 노드 ID를 48보다 큰 값으로 제한하는 것이 좋습니다.

    NodeId 는 API 노드를 식별 할 때 사용하는 것이 좋습니다되는 매개 변수 이름입니다. ( Id 는 하위 호환성을 계속 지원하지만 현재는 비추천이며, 사용시 경고를 생성합니다. 이것은 또한 앞으로 삭제 될 예정입니다.)

  • ConnectionMap

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0string[none]...N

    연결 데이터 노드를 지정합니다.

  • NodeId

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0unsigned[none]1 - 255IS
    NodeId 는 모든 클러스터 내부 메시지에서 노드를 식별하는 데 사용되는 정수 값입니다. 허용되는 값의 범위는 1-255 (이들을 포함)입니다. 이 값은 노드의 유형에 관계없이 클러스터의 각 노드에서 고유해야합니다.
    참고

    데이터 노드 ID는 사용하는 MySQL Cluster 버전에 관계없이 49 미만이어야합니다. 다수의 데이터 노드를 배치하려는 경우, API 노드 (관리 노드)의 노드 ID를 48보다 큰 값으로 제한하는 것이 좋습니다.

    NodeId 은 관리 노드를 식별 할 때 사용하는 것이 좋습니다되는 매개 변수 이름입니다. MySQL Cluster의 아주 오래된 버전에서는이 목적을 위해 별칭 ( Id )가 사용되고있었습니다. 이것은 하위 호환성에 계속 대응하고 있습니다 만, 현재는 비추천이며, 사용시 경고를 생성합니다. 또한 MySQL Cluster의 향후 릴리스에서 제거 될 예정입니다.

  • ExecuteOnComputer

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0name[none]...S

    이것은 구성 파일의 [computer] 섹션에 정의 된 하나의 컴퓨터 (호스트)에 설정되어있는 Id 를 참조하십시오.

  • HostName

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0name or IP address[none]...N
    이 매개 변수를 지정하면 SQL 노드 (API 노드)가 배치되는 컴퓨터의 호스트 이름이 정의됩니다. 호스트 이름을 지정하려면이 매개 변수 또는 ExecuteOnComputer 중 하나가 필요합니다.

    config.ini 파일의 특정 [mysql] 또는 [api] 섹션에 HostName 또는 ExecuteOnComputer 가 지정되어 있지 않은 경우, SQL 또는 API 노드는 네트워크 연결을 설정할 수있는 모든 호스트에서 해당 "슬롯"을 사용하여 관리 서버 호스트 시스템에 연결할 수 있습니다. 이것은, 그 밖에 지정되어 있지 않은 경우 localhost 가 HostName 으로 사용되는 데이터 노드의 기본 동작과 다릅니다.

  • ArbitrationRank

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.00-200 - 2N
    이 매개 변수는 중재자 역할을 할 수있는 노드를 정의합니다. 관리 노드와 SQL 노드 모두가 중재자가 될 수 있습니다. 값 0은 지정된 노드가 중재자로 사용되지 않는 것을 의미합니다. 값 1은 노드에 중재자로서의 높은 우선 순위를 부여합니다. 값 2는 낮은 우선 순위를 부여합니다. 일반적인 구성은 관리 서버의 ArbitrationRank 1 (관리 노드의 기본값)로 설정된 각 SQL 노드는 0 (SQL 노드의 기본값)로 설정되기 때문에 관리 서버가 중재자로 사용됩니다.

    모든 관리 및 SQL 노드에서 ArbitrationRank 를 0으로 설정하면 중재를 완전히 비활성화 할 수 있습니다. 이 빠라메라을 무시하고 중재를 제어 할 수 있습니다. 그러기 위해서는, config.ini 글로벌 구성 파일의 [ndbd default] 섹션에 Arbitration 매개 변수를 설정합니다.

  • ArbitrationDelay

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0milliseconds00 - 4294967039 (0xFFFFFEFF)N

    이 매개 변수를 0 (기본값) 이외의 값으로 설정하면 중재 요청에 대한 중재자의 응답이 지정된 밀리 초만큼 지연됩니다. 일반적으로이 값을 변경할 필요가 없습니다.

  • BatchByteSize

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0bytes16K1024 - 1MN
    풀 테이블 스캔이나 인덱스의 범위 스캔으로 변환되는 쿼리는 최상의 성능을 위해 적절하게 크기 조정 된 배치에서 레코드를 가져 오는 것이 중요합니다. 레코드 수 ( BatchSize )와 바이트 ( BatchByteSize ) 모두에서 적절한 크기를 설정할 수 있습니다. 실제 배치 크기는 두 매개 변수에 의해 제한됩니다.

    이 매개 변수의 설정 방법에 따라 쿼리의 실행 속도의 변화율이 40 %를 초과 할 수 있습니다.

    이 매개 변수는 바이트 단위로 측정됩니다. MySQL Cluster NDB 7.3 이상에서는 디폴트 값은 16K입니다.

  • BatchSize

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0records2561 - 992N

    이 매개 변수는 레코드 단위로 측정되며 기본적으로 256으로 설정됩니다. 최대 크기는 992입니다.

  • ExtraSendBufferMemory

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0bytes00 - 4294967039 (0xFFFFFEFF)N

    이 매개 변수를 사용하여 관리 및 API 노드의 하트 비트 스레드의 스케줄링 정책과 우선 순위를 설정합니다. 이 매개 변수를 설정하는 구문을 여기에 나타냅니다.

  • HeartbeatThreadPriority

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0string[none]...S

    Use this parameter to set the scheduling policy and priority of heartbeat threads for management and API nodes. The syntax for setting this parameter is shown here:

    HeartbeatThreadPriority = policy[, priority]
    
    policy:
      {FIFO | RR}
    

    이 매개 변수를 설정할 때 정책을 지정해야합니다. 이것은 FIFO (선입 선출) 또는 RR (라운드 로빈) 중 하나입니다. 이후에 선택적으로 우선 순위 (정수)를 지정할 수 있습니다.

  • MaxScanBatchSize

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0bytes256K32K - 16MN
    일괄 처리 크기는 각 데이터 노드에서 전송되는 각 배치의 크기입니다. 다수의 노드에서 병렬로 수신되는 과다한 데이터 량에서 MySQL 서버를 보호하기 위해 대부분의 검사는 병렬로 실행됩니다. 이 매개 변수는 모든 노드의 총 배치 크기 제한을 설정합니다.

    이 매개 변수의 디폴트 값은 256K 바이트입니다. 최대 크기는 16M 바이트입니다.

  • TotalSendBufferMemory

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0bytes0256K - 4294967039 (0xFFFFFEFF)N
    이 매개 변수는 구성된 모든 트랜스 포터간에 공유되는 송신 버퍼 메모리의이 노드에 할당 된 메모리 총량을 결정하는 데 사용됩니다.

    이 매개 변수를 설정하는 경우 허용되는 최소값은 256K 바이트 최대 값은 4294967039입니다. TotalSendBufferMemory 동작과 사용 및 MySQL Cluster에서의 전송 버퍼 메모리 매개 변수 구성 자세한 내용은 섹션 18.3.2.12 "MySQL Cluster의 전송 버퍼 매개 변수 구성" 을 참조하십시오.

  • AutoReconnect

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0booleanfalsetrue, falseN
    이 매개 변수는 기본적으로 false 입니다. 이에 따라 절단 된 API 노드 (SQL 노드 역할을하는 MySQL 서버 포함)가 기존 연결을 다시 사용하려고하지 않고 클러스터에 새 연결을 강제로 사용하게됩니다 (연결을 다시 사용하면 동적으로 할당 된 노드 ID를 사용할 때 문제가 발생할 수 있기 때문에). (Bug # 45921)
    참고

    이 매개 변수는 NDB API를 사용하여 재정의 할 수 있습니다. 자세한 내용은 Ndb_cluster_connection :: set_auto_reconnect () 및 Ndb_cluster_connection :: get_auto_reconnect () 를 참조하십시오.

  • DefaultOperationRedoProblemAction

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0enumerationQUEUEABORT, QUEUES
    이 매개 변수는 ( RedoOverCommitLimit 및 RedoOverCommitCounter 함께) Redo 로그를 디스크에 플러시하는 시간이 너무 긴 경우 데이터 노드가 작업 처리를 제어합니다. 이것은 특정 Redo 로그의 플래시가 RedoOverCommitLimit 초보다 긴 시간이 지남에 RedoOverCommitCounter 회 이상의 횟수만큼 수행 보류중인 트랜잭션이 중단 된 경우에 발생합니다.

    이 발생시는 노드는 다음에 나와 DefaultOperationRedoProblemAction 의 값에 따라 두 가지 방법 중 하나를받을 수 있습니다.

    • ABORT : 중단 된 트랜잭션에 포함 된 보류중인 작업도 중지됩니다.

    • QUEUE : 중단 된 트랜잭션에 포함 된 보류중인 작업이 대기열에 다시 시도됩니다.

  • DefaultHashMapSize

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0buckets38400 - 3840N

    MySQL Cluster NDB 7.2.7 이상에서는 이전 릴리스 (240)보다 큰 테이블 해시 맵의 기본 크기 (3840)가 사용됩니다. MySQL Cluster NDB 7.2.11 이후 버전에서는이 매개 변수를 사용하여 NDB 가 사용하는 테이블 해시 맵의 크기를 구성 할 수 있습니다 (이전에는이 ​​값은 하드 코딩되어있었습니다). DefaultHashMapSize 에는 3 개의 값 (0,240,3840) 중 하나를 지정할 수 있습니다. 이러한 값과 그 효과에 대해 다음 표에서 설명합니다.

    ValueDescription / Effect
    0

    클러스터의 모든 데이터 및 API 노드에서이 매개 변수에 설정된 가장 작은 값을 (있으면) 사용합니다. 어떤 데이터 또는 API 노드에 설정되어 있지 않으면 기본값을 사용합니다.

    240

    MySQL Cluster NDB 7.2.7 이전의 모든 MySQL Cluster 릴리스에서 기본적으로 사용되어 원래 해시 맵 크기입니다

    3840

    MySQL Cluster NDB 7.2.7 이상에서 기본적으로 사용되는 더 큰 해시 맵 크기

    이 매개 변수의 주된 용도는 더 큰 해시 맵 사이즈 (3840)가 기본 인 MySQL Cluster NDB 7.2.7 이후의 MySQL Cluster 버전과 이전 버전 (기본이 240이었다) 사이의 업그레이드와 (특히 ) 다운 그레이드를 용이하게하는 것입니다. 이것은이 변경 호환성이없는 (Bug # 14800539) 때문입니다. 이 매개 변수를 240으로 설정하고이 값을 사용하는 이전 버전에서 업그레이드를 실행하면 클러스터는 테이블 해시 맵에 이어 작은 크기를 사용하기 위해 업그레이드 된 테이블에서 이전 버전 호환성이 유지됩니다. DefaultHashMapSize 는 개별 데이터 노드 API 노드 또는 둘 모두에 설정할 수 있지만, config.ini 파일의 [ndbd default] 섹션에 한 번만 설정하는 방법을 권장합니다.

    이 매개 변수를 늘린 후 기존 테이블에 새로운 크기를 사용하려면 해당 테이블에 ALTER TABLE ... REORGANIZE PARTITION 을 실행합니다. 그런 다음 테이블에서 더 큰 해시 맵 크기를 사용할 수있게됩니다. 이것은 롤링 재시작 실행 이외에합니다. 롤링 재시작을 수행하면 더 큰 해시 맵을 새로운 테이블로 사용 할 수 있지만, 기존의 테이블에서는 사용할 수 없습니다.

    DefaultHashMapSize 을 3840으로 설정하여 테이블을 생성하거나 수정 한 후 온라인으로이 매개 변수를 줄이는 방법은 현재 지원되지 않습니다.

  • Wan

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.0booleanfalsetrue, falseN

    WAN의 TCP 설정을 기본값으로 사용합니다.

  • ConnectBackoffMaxTime

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.7integer00 - 4294967039 (0xFFFFFEFF)N
    NDB 7.4.2integer00 - 4294967039 (0xFFFFFEFF)N
    MySQL Cluster NDB 7.3.7 및 MySQL Cluster NDB 7.4.2 이상에서는 MySQL Cluster 내에 시작되지 않은 데이터 노드가 많은 경우이 매개 변수의 값을 늘리 클러스터의 여전히 작동하기 시작하지 않은 데이터 노드에 연결 시도를 회피하여 관리 노드에 대량의 트래픽을 줄일 수 있습니다. API 노드가 새로운 데이터 노드에 연결되어 있지 않은 경우는 StartConnectBackoffMaxTime 매개 변수 값이 적용됩니다. 그렇지 않으면 ConnectBackoffMaxTime 을 사용하여 연결 시도 간의 대기 시간 (밀리 초)이 결정됩니다.

    이 매개 변수의 경과 시간을 계산 할 때 노드의 접속 시행 중에 경과 시간은 고려되지 않습니다. 제한 시간은 100 밀리 초 지연 시작 약 100 밀리 초 분해능으로 적용됩니다. 후속 시도 때마다 ConnectBackoffMaxTime 밀리 초 (최대 100,000 밀리 초 (100 초))에 도달 할 때까지이 기간의 길이가 배가됩니다.

    API 노드가 데이터 노드에 연결된 노드가 (하트 비트 메시지) 다른 데이터 노드에 연결 한 것을보고하면 데이터 노드에 대한 연결 시도는이 매개 변수의 영향을받지 않습니다 다음 연결될 때까지 100 밀리 초 간격으로 이루어집니다. 데이터 노드가 시작하면이 문제가 발생 적이 API 노드에 통지 될 때까지 HeartbeatIntervalDbApi 을 필요로합니다

  • StartConnectBackoffMaxTime

    Effective VersionType/UnitsDefaultRange/ValuesRestart Type
    NDB 7.3.7integer00 - 4294967039 (0xFFFFFEFF)N
    NDB 7.4.2integer00 - 4294967039 (0xFFFFFEFF)N
    MySQL Cluster NDB 7.3.7 및 MySQL Cluster NDB 7.4.2 이상에서는 MySQL Cluster 내에 시작되지 않은 데이터 노드가 많은 경우이 매개 변수의 값을 늘리 클러스터의 여전히 작동하기 시작하지 않은 데이터 노드에 연결 시도를 회피하여 관리 노드에 대량의 트래픽을 줄일 수 있습니다. API 노드가 새로운 데이터 노드에 연결되어 있지 않은 경우는 StartConnectBackoffMaxTime 매개 변수 값이 적용됩니다. 그렇지 않으면 ConnectBackoffMaxTime 을 사용하여 연결 시도 간의 대기 시간 (밀리 초)이 결정됩니다.

    이 매개 변수의 경과 시간을 계산 할 때 노드의 접속 시행 중에 경과 시간은 고려되지 않습니다. 제한 시간은 100 밀리 초 지연 시작 약 100 밀리 초 분해능으로 적용됩니다. 후속 시도 때마다 StartConnectBackoffMaxTime 밀리 초 (최대 100,000 밀리 초 (100 초))에 도달 할 때까지이 기간의 길이가 배가됩니다.

    API 노드가 데이터 노드에 연결된 노드가 (하트 비트 메시지) 다른 데이터 노드에 연결 한 것을보고하면 데이터 노드에 대한 연결 시도는이 매개 변수의 영향을받지 않습니다 다음 연결될 때까지 100 밀리 초 간격으로 이루어집니다. 데이터 노드가 시작하면이 문제가 발생 적이 API 노드에 통지 될 때까지 HeartbeatIntervalDbApi 을 필요로합니다.

    여기에 같이 mysql 클라이언트의 SHOW STATUS 를 사용하여 MySQL Cluster SQL 노드로 실행되는 MySQL 서버에서 정보를 검색 할 수 있습니다.

mysql> SHOW STATUS LIKE 'ndb%';
+-----------------------------+---------------+
| Variable_name               | Value         |
+-----------------------------+---------------+
| Ndb_cluster_node_id         | 5             |
| Ndb_config_from_host        | 192.168.0.112 |
| Ndb_config_from_port        | 1186          |
| Ndb_number_of_storage_nodes | 4             |
+-----------------------------+---------------+
4 rows in set (0.02 sec)
이 문 출력에 표시되는 상태 변수는 섹션 18.3.4.4 "MySQL Cluster의 상태 변수" 를 참조하십시오.
참고

실행중인 MySQL Cluster 구성에 새로운 SQL 또는 API 노드를 추가하려면 config.ini 파일 (여러 관리 서버를 사용하는 경우 여러 파일)에 새로운 [mysqld] 또는 [api] 섹션을 추가 한 나중에 모든 클러스터 노드의 롤링 재시작을 수행해야합니다. 이것은 새로운 SQL 또는 API 노드를 클러스터에 연결하기 전에 실행해야합니다.

새로운 SQL 또는 API 노드가 클러스터 구성에서 이전에 사용되지 않은 API 슬롯을 사용하여 클러스터에 연결하는 경우 클러스터 재부팅을 수행 할 필요가 없습니다.


서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved