• 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 설정
    4. MySQL Cluster 프로그램
    1. ndbd - MySQL Cluster 데이터 노드 데몬
    2. ndbinfo_select_all - ndbinfo 테이블에서 선택
    3. ndbmtd - MySQL Cluster 데이터 노드 데몬 (멀티 스레드)
    4. ndb_mgmd - MySQL Cluster 관리 서버 데몬
    5. ndb_mgm - MySQL Cluster 관리 클라이언트
    6. ndb_blob_tool - MySQL Cluster 테이블의 BLOB 및 TEXT 컬럼의 체크 및 복구
    7. ndb_config - MySQL Cluster 구성 정보의 추출
    8. ndb_cpcd - NDB 개발을위한 테스트 자동화
    9. ndb_delete_all - NDB 테이블에서 모든 행 삭제
    10. ndb_desc - NDB 테이블 표시
    11. ndb_drop_index - NDB 테이블에서 인덱스 삭제
    12. ndb_drop_table - NDB 테이블 삭제
    13. ndb_error_reporter - NDB 오류보고 유틸리티
    14. ndb_index_stat - NDB 인덱스 통계 유틸리티
    15. ndb_print_backup_file - NDB 백업 파일의 내용을 출력
    16. ndb_print_file - NDB 디스크 데이터 파일 내용 출력
    17. ndb_print_schema_file - NDB 스키마 파일 내용 출력
    18. ndb_print_sys_file - NDB 시스템 파일 내용 출력
    19. ndbd_redo_log_reader - 클러스터 Redo 로그 내용의 확인 및 출력
    20. ndb_restore - MySQL Cluster 백업 복원
    21. ndb_select_all - NDB 테이블의 행의 출력
    22. ndb_select_count - NDB 테이블의 행수 출력
    23. ndb_setup.py - MySQL Cluster의 브라우저 기반 자동 설치 프로그램 시작
    24. ndb_show_tables - NDB 테이블 목록보기
    25. ndb_size.pl - NDBCLUSTER 크기 요구 사항 추정기
    26. ndb_waiter - MySQL Cluster가 지정한 상태가 될 때까지 대기
    27. MySQL Cluster 프로그램에 공통 옵션 - 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.4.1 ndbd - MySQL Cluster 데이터 노드 데몬

ndbd는 NDB Cluster 스토리지 엔진을 사용하여 테이블의 모든 데이터를 처리하는 데 사용되는 프로세스입니다. 이것은 분산 트랜잭션 처리, 노드 복구, 디스크 검사 점 수행 온라인 백업 및 관련 작업을 데이터 노드가 할 수 있도록하는 과정입니다.

MySQL Cluster는 일련의 ndbd 프로세스가 데이터를 처리하기 위해 함께 작동합니다. 이러한 프로세스는 동일한 컴퓨터 (호스트) 나 별도의 컴퓨터에서 실행할 수 있습니다. 데이터 노드와 Cluster 호스트의 통신 정보를 구성 할 수 있습니다.

다음 표는 MySQL Cluster 데이터 노드 프로그램 ndbd에 특정 명령 옵션이 포함되어 있습니다. 추가 설명이 표 다음에 있습니다. 대부분의 MySQL Cluster 프로그램 (ndbd 포함)에 공통되는 옵션은 섹션 18.4.27 "MySQL Cluster 프로그램에 공통 옵션 - MySQL Cluster 일반적인 프로그램 옵션" 을 참조하십시오.

표 18.77이 표는 ndbd 프로그램의 명령 행 옵션에 대해 설명하고 있습니다

형식 설명 추가 또는 삭제

--initial

ndbd의 초기 기동을 실행합니다 (파일 시스템 청소 포함). 이 옵션을 사용하기 전에 문서를 참조하십시오

모든 MySQL 5.6 기반 자료

--nostart ,

-n

ndbd를 즉시 시작하지 않습니다. ndbd는 ndb_mgm에서 시작 명령을 기다립니다

모든 MySQL 5.6 기반 자료

--daemon ,

-d

ndbd를 데몬으로 시작합니다 (기본값). 재정의하려면 --nodaemon을 지정합니다

모든 MySQL 5.6 기반 자료

--nodaemon

ndbd를 데몬으로 시작하지 않습니다. 테스트를 위해 제공되고 있습니다

모든 MySQL 5.6 기반 자료

--foreground

ndbd를 포 그라운드에서 실행합니다. 디버깅을 위해 제공되고 있습니다 (--nodaemon의 의미를 포함합니다)

모든 MySQL 5.6 기반 자료

--nowait-nodes=list

이러한 데이터 노드가 시작되는 것을 기다리지 않습니다 (노드 ID의 쉼표로 구분 된 목록을 가지고 있습니다). --ndb-nodeid도 사용해야합니다.

모든 MySQL 5.6 기반 자료

--initial-start

부분적인 초기 시작을 실행합니다 (--nowait-nodes이 필요합니다)

모든 MySQL 5.6 기반 자료

--bind-address=name

로컬 바인딩 주소

모든 MySQL 5.6 기반 자료

--install[=name]

데이터 노드 프로세스를 Windows 서비스로 설치하는 데 사용합니다. Windows 이외의 플랫폼에 적용되지 않습니다.

모든 MySQL 5.6 기반 자료

--remove[=name]

이전 Windows 서비스로 설치 된 데이터 노드 프로세스를 제거하는 데 사용합니다. Windows 이외의 플랫폼에 적용되지 않습니다.

모든 MySQL 5.6 기반 자료

--connect-retries=#

관리 서버에 연결을 시도하는 횟수. 무한 시도하는 경우는 -1을 설정합니다

모든 MySQL 5.6 기반 자료

--connect-delay=#

관리 서버에 각 연결 시도 사이에 대기하는 시간 (초)

모든 MySQL 5.6 기반 자료


참고

이러한 모든 옵션은이 프로그램의 멀티 스레드 버전 (ndbmtd)에도 적용됩니다 "ndbd"을 "ndbmtd"으로 바꿀 수 있습니다 (이 섹션에서는 후자가 나오는 경우).

  • --bind-address

    명령 줄 형식 --bind-address=name
    허용되는 값 유형 string
    기본

    ndbd가 특정 네트워크 인터페이스 (호스트 이름 또는 IP 주소)에 바인드됩니다. 이 옵션의 기본값은 없습니다.

  • --daemon , -d

    명령 줄 형식 --daemon
    허용되는 값 유형 boolean
    기본 TRUE

    ndbd 또는 ndbmtd 데몬 프로세스로 실행하도록 지시합니다. 이것은 기본 동작입니다. --nodaemon 을 사용하면 프로세스가 데몬으로 실행되지 않습니다.

    Windows 플랫폼에서 ndbd 또는 ndbmtd을 실행하는 경우이 옵션은 효과가 없습니다.

  • --nodaemon

    명령 줄 형식 --nodaemon
    허용되는 값 유형 boolean
    기본 FALSE

    ndbd 또는 ndbmtd이 데몬 프로세스로 실행되지 않게됩니다. 이 옵션은 --daemon 옵션을 재정의합니다. 이것은 바이너리를 디버깅 할 때 출력을 화면으로 리디렉션하는 경우에 유용합니다.

    Windows에서 ndbd 및 ndbmtd의 기본 동작은 포 그라운드에서 실행이며, Windows 플랫폼에서는이 옵션은 효과가없고 필요하지 않습니다.

  • --foreground

    명령 줄 형식 --foreground
    허용되는 값 유형 boolean
    기본 FALSE

    주로 디버깅을 위해, ndbd 또는 ndbmtd가 포 그라운드 프로세스로 실행됩니다. 이 옵션은 --nodaemon 옵션의 의미를 포함합니다.

    Windows 플랫폼에서 ndbd 또는 ndbmtd을 실행하는 경우이 옵션은 효과가 없습니다.

  • --initial

    명령 줄 형식 --initial
    허용되는 값 유형 boolean
    기본 FALSE

    ndbd 초기 부팅을 수행하도록 지시합니다. 초기 시작하면 이전의 ndbd 인스턴스 복구를 위해 생성 된 파일이 삭제됩니다. 또한 복구 로그 파일이 다시 생성됩니다. 일부 운영 체제에서는이 작업에 상당한 시간이 소요됩니다.

    --initial 을 지정한 시작은 ndbd 프로세스를 매우 특수한 상황에서 시작할 때만 사용합니다. 이것은이 옵션을 지정하면 MySQL Cluster 파일 시스템에서 모든 파일이 삭제되고 모든 Redo 로그 파일이 다시 생성되기 때문입니다. 그 상황을 보여줍니다.

    • 파일의 내용이 변경된 소프트웨어 업그레이드를 실행하는 경우.

    • 새로운 버전의 ndbd 노드를 다시 시작하는 경우.

    • 어떤 이유로 노드 또는 시스템의 재부팅이 반복 실패 할 경우 최후의 수단으로. 이 경우 데이터 파일이 손상되기 때문에이 노드는 데이터의 복원에 사용할 수 없습니다.

    이 옵션을 사용하면 StartPartialTimeout 및 StartPartitionedTimeout 구성 매개 변수의 효과가 없습니다.

    중요

    이 옵션은 다음 유형의 파일에는 영향을주지 않습니다.

    • 영향을받는 노드가 이미 생성 된 백업 파일

    • MySQL Cluster 디스크 데이터 파일 ( 섹션 18.5.12 "MySQL Cluster 디스크 데이터 테이블" 을 참조하십시오).

    이 옵션은 이미 실행되어있는 데이터 노드에서 시작 (또는 다시 시작) 된지 얼마 안된 데이터 노드에 의한 데이터의 복구에 영향을주지 않습니다. 이 데이터의 복구는 자동으로 이루어집니다 성공적으로 실행 된 MySQL Cluster에서 사용자가 작업을 할 필요가 없습니다.

    클러스터를 처음 시작할 때 (즉, 데이터 노드 파일이 작성되기 전)에이 옵션을 사용할 수 있지만 그렇게 할 필요는 없습니다.

  • --initial-start

    명령 줄 형식 --initial-start
    허용되는 값 유형 boolean
    기본 FALSE

    이 옵션은 클러스터를 부분적으로 초기 부팅 할 때 사용합니다. 각 노드는이 옵션 및 --nowait-nodes 를 지정하여 시작하십시오.

    데이터 노드의 ID가 2,3,4 및 5 인 4 노드 클러스터가 노드 2, 4 및 5 만 사용하여 (즉, 노드 3을 제외하고) 부분적으로 초기 기동을 실행 한다고합니다.

    shell> ndbd --ndb-nodeid=2 --nowait-nodes=3 --initial-start
    shell> ndbd --ndb-nodeid=4 --nowait-nodes=3 --initial-start
    shell> ndbd --ndb-nodeid=5 --nowait-nodes=3 --initial-start
    

    이 옵션을 사용하는 경우 --ndb-nodeid 옵션을 지정하여 시작하는 데이터 노드의 ID를 지정해야합니다.

    중요

    여러 관리 서버에서 구성된 클러스터를 모든 관리 서버가 온라인 않아도 시작할 수 있도록하는 데 사용할 수있는 ndb_mgmd의 --nowait-nodes 옵션이 옵션을 혼동하지 마십시오.

  • --nowait-nodes=node_id_1[, node_id_2[, ...]]

    명령 줄 형식 --nowait-nodes=list
    허용되는 값 유형 string
    기본

    이 옵션은 클러스터가 시작하기 전에 대기하지 않는 데이터 노드의 목록을 지정합니다.

    이것은 분할 된 상태의 클러스터를 시작하는 데 사용할 수 있습니다. 예를 들어 4 노드 클러스터에서 실행되는 데이터 노드 (노드 2,3,4 및 5)의 절반의 데이터 노드에서만 클러스터를 시작하려면 --nowait-nodes=3,5 를 지정하고 각 ndbd 프로세스를 시작합니다. 이 경우 클러스터는 노드 2와 노드 4가 연결되는 즉시 시작 노드 3과 노드 5가 접속하는 것을 (연결하지 않은 경우) StartPartitionedTimeout 밀리 초 대기하지 않습니다.

    앞의 예와 같은 클러스터를 하나의 ndbd을 제외하고 시작하는 경우 (예를 들어, 노드 3 호스트 시스템에서 하드웨어 오류가 발생하는 경우)는 --nowait-nodes=3 을 지정하고 노드 2, 4 및 5를 시작합니다. 클러스터는 노드 2, 4 및 5가 연결 되 자마자 시작 노드 3이 시작되는 것을 기다리지 않습니다.

  • --nostart , -n

    명령 줄 형식 --nostart
    허용되는 값 유형 boolean
    기본 FALSE

    ndbd 자동으로 시작하지 않도록 지시합니다. 이 옵션을 사용하면 ndbd는 관리 서버에 연결하고 거기에서 구성 데이터를 검색하고 통신 개체를 초기화합니다. 그러나 관리 서버에 의해 그렇게하도록 명시 적으로 요구 될 때까지 실행 엔진을 실제로 시작하지 않습니다. 이것은 관리 클라이언트에서 적절한 START 명령을 실행하여 수행됩니다 ( 섹션 18.5.2 "MySQL Cluster 관리 클라이언트 명령" 을 참조하십시오).

  • --install[= name ]

    명령 줄 형식 --install[=name]
    플랫폼 별 Windows
    허용되는 값 유형 boolean
    기본 ndbd

    ndbd가 Windows 서비스로 설치됩니다. 필요에 따라 서비스의 이름을 지정할 수 있습니다. 설정하지 않으면 서비스 이름은 ndbd 기본 설정됩니다. 다른 ndbd 프로그램 옵션은 my.ini 또는 my.cnf 구성 파일에 지정하는 것이 좋습니다되지만, --install 과 함께 사용할 수 있습니다. 그러나 그런 경우 Windows 서비스 설치가 성공하려면 --install 옵션을 먼저 지정하고 다른 옵션을 지정해야합니다.

    일반적으로이 옵션을 --initial 옵션과 함께 사용하는 것은 권장하지 않습니다. 그로 인하여 서비스가 중지 및 시작 될 때마다 데이터 노드 파일 시스템이 삭제 및 재생성되기 때문입니다. 데이터 노드의 부팅에 영향을 다른 ndbd 옵션 ( --initial-start , --nostart 및 --nowait-nodes 포함)을 --install 과 함께 사용하는 경우, 그것을 할 ​​것을 충분히 이해하고 발생할 수있는 결과에 대해 충분히 준비하고 있는지 제대로 확인하십시오.

    --install 옵션은 Windows 이외의 플랫폼에서는 효과가 없습니다.

  • --remove[= name ]

    명령 줄 형식 --remove[=name]
    플랫폼 별 Windows
    허용되는 값 유형 string
    기본 ndbd

    이전에 Windows 서비스로 설치 된 ndbd 프로세스를 제거합니다. 필요에 따라 제거 할 서비스의 이름을 지정할 수 있습니다. 설정하지 않으면 서비스 이름은 ndbd 기본 설정됩니다.

    --remove 옵션은 Windows 이외의 플랫폼에서는 효과가 없습니다.

  • --connect-retries= #

    명령 줄 형식 --connect-retries=#
    허용되는 값 유형 numeric
    기본 12
    최소 -1
    최대 값 65535

    데이터 노드가 시작할 때 관리 서버에 연결을 시도 할 횟수를 지정합니다. 이 옵션에 -1을 설정하면 데이터 노드가 무한대로 연결을 시도합니다. 기본값은 12 회 시도입니다. 각 시도 사이에 대기하는 시간은 --connect-delay 옵션에 의해 제어됩니다.

  • --connect-delay= #

    명령 줄 형식 --connect-delay=#
    허용되는 값 유형 numeric
    기본 5
    최소 0
    최대 값 3600

    시작할 때 관리 서버에 각 연결 시도 사이에 대기하는 시간을 결정합니다 (시도 사이의 시간은 --connect-retries 옵션에 의해 제어됩니다). 기본값은 5 회 시도입니다.

    이 옵션은 MySQL Cluster NDB 7.2.9에서 추가되었습니다.

ndbd는 config.ini 구성 파일의 DataDir 에서 지정된 디렉토리에 배치되는 일련의 로그 파일을 생성합니다.

이러한 로그 파일을 다음 나열합니다. node_id 는 노드의 고유 식별자입니다. node_id 는 노드의 고유 식별자를 나타냅니다. 예를 들어, ndb_2_error.log 는 노드 ID가 2 데이터 노드에 의해 생성 된 오류 로그입니다.

  • ndb_ node_id _error.log 는 참조 된 ndbd 프로세스에서 발생하는 모든 사고의 기록이 포함되어있는 파일입니다. 이 파일의 각 레코드에는 간단한 오류 문자열 및이 충돌 추적 파일에 대한 참조가 포함되어 있습니다. 이 파일의 일반적인 항목을 보여줍니다.

    Date/Time: Saturday 30 July 2004 - 00:20:01
    Type of error: error
    Message: Internal program error (failed ndbrequire)
    Fault ID: 2341
    Problem data: DbtupFixAlloc.cpp
    Object of reference: DBTUP (Line: 173)
    ProgramName: NDB Kernel
    ProcessID: 14909
    TraceFile: ndb_2_trace.log.2
    ***EOM***
    

    데이터 노드 프로세스가 예기치 않게 종료 된 경우에 발생 될 수있는 ndbd 종료 코드 및 메시지 목록은 ndbd Error Messages 에 있습니다.

    중요

    이 오류 로그 파일의 마지막 항목이 최신 항목하다고는 않습니다 (그 가능성도 거의 없습니다). 이 오류 로그 항목은 시간순으로 나열되지 않고 ndb_ node_id _trace.log.next 파일 (다음을 참조하십시오)에서 결정되는 추적 파일의 순서에 대응하고 있습니다. 오류 로그 항목은 이러한 순환으로 덮어 순차적으로하지 않습니다.

  • ndb_ node_id _trace.log. trace_id 는 오류가 발생하기 직전에 발생한 사건을 나타내는 추적 파일입니다. 이 정보는 MySQL Cluster 개발 팀이 분석하는 데 유용합니다.

    이전 파일을 덮어 쓰기 전에 생성 된 이러한 추적 파일의 수는 구성 할 수 있습니다. trace_id 는 각각의 연속 된 추적 파일에서 증가되는 숫자입니다.

  • ndb_ node_id _trace.log.next 는 할당 된 다음 추적 파일 번호를 추적하는 파일입니다.

  • ndb_ node_id _out.log 은 ndbd 프로세스에 의한 데이터 출력이 포함되어있는 파일입니다. 이 파일은 ndbd가 데몬으로 시작되었다 (기본 동작) 경우에만 작성됩니다.

  • ndb_ node_id .pid 는 ndbd 프로세스가 데몬으로 시작되면 프로세스 ID가 포함되어 있습니다. 이것은 동일한 식별자를 가진 노드가 시작되는 것을 막기 위해 잠금 파일로도 작동합니다.

  • ndb_ node_id _signal.log 는 ndbd의 디버그 버전에서만 사용되는 파일이며, ndbd 프로세스 그 데이터의 모든 인바운드, 아웃 바운드 및 내부 메시지를 추적 할 수 있습니다.

NFS를 사용하여 마운트 된 디렉토리는 사용하지 않는 것이 좋습니다. 일부 환경에서는 프로세스가 종료 된 후에도 .pid 파일의 잠금이 활성화 된 상태가되는 문제가 발생할 수 있기 때문입니다.

ndbd를 시작하면 관리 서버의 호스트 이름과 그것이 대기하는 포트를 지정해야 할 수 있습니다. 필요에 따라 프로세스가 사용하는 노드 ID를 지정할 수도 있습니다.

shell> ndbd --connect-string="nodeid=2;host=ndb_mgmd.mysql.com:1186"

이에 대한 자세한 내용은 섹션 18.3.2.3 "MySQL Cluster의 연결 문자열" 을 참조하십시오. 섹션 18.4.27 "MySQL Cluster 프로그램에 공통 옵션 - MySQL Cluster 프로그램에 공통 옵션" 에서는 ndbd에서 사용할 수있는 다른 명령 행 옵션에 대해 설명합니다. 데이터 노드 구성 매개 변수는 섹션 18.3.2.6 "MySQL Cluster 데이터 노드의 정의" 를 참조하십시오.

ndbd가 시작되면 실제로 두 개의 프로세스가 시작됩니다. 첫번째 프로세스는 "엔젤 프로세스"라고 그 유일한 역할은 실행 프로세스가 완료 될 때 그것을 감지하고 ndbd 프로세스를 다시 시작하는 것입니다 (그렇게 구성된 경우). 따라서 UNIX의 kill 명령을 사용하여 ndbd를 종료하려고 할 경우, 두 프로세스를 강제 종료해야합니다 (엔젤 프로세스 우선). ndbd 프로세스를 종료시키기 위해 권장되는 방법은 관리 클라이언트를 사용하여 거기에서 프로세스를 중지하는 것입니다.

실행 프로세스는 데이터의 읽기, 쓰기, 검사 및 다른 모든 활동에 하나의 스레드를 사용합니다. 수천의 동시 작업을 쉽게 처리 할 수​​ 있도록이 스레드는 비동기 적으로 구현됩니다. 또한 모니터링 스레드 실행 스레드가 무한 루프로 중단되지 않도록 관리합니다. 스레드 풀에 의해 파일 I / O 처리 된 각 스레드는 하나의 오픈 파일을 처리 할 수​​ 있습니다. 스레드는 ndbd 프로세스의 전송에 의한 전송 연결하는 데 사용할 수 있습니다. 다수의 작업 (업데이트 포함)를 실행하는 멀티 프로세서 시스템의 경우 ndbd 프로세스는 최대 2 개의 CPU를 사용할 수 있습니다 (허용되는 경우).

다수의 CPU를 가진 시스템의 경우 다른 노드 그룹에 속하는 복수의 ndbd 프로세스를 사용할 수 있습니다. 그러나 이러한 구성은 아직 실험적인 것으로 간주되며 MySQL 5.6의 실전 배치에서 지원되지 않습니다. 섹션 18.1.6 "MySQL Cluster의 알려진 제한 사항" 을 참조하십시오.


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