2.9. 클러스터 유틸리티 프로그램
2.9.1. ndb_config — NDB 구성 정보 추출하기
2.9.2. ndb_cpcd — NDB 개발용 자동 테스트
2.9.3. ndb_delete_all — NDB 테이블에서 모든 열 삭제
2.9.4. ndb_desc — NDB 테이블 설명
2.9.5. ndb_drop_index — NDB 테이블에서 인덱스 제거
2.9.6. ndb_drop_table — NDB 테이블 제거
2.9.7. ndb_error_reporter — NDB 에러-레포팅 유틸리티
2.9.8. ndb_print_backup_file — NDB 백업 파일 내용 출력
2.9.9. ndb_print_schema_file — NDB 스키마 파일 내용 출력
2.9.10. ndb_print_sys_file — NDB 시스템 파일 내용 출력
2.9.11. ndbd_redo_log_reader — 클러스터 레도 (Redo) 로그 내용 검사 및 출력
2.9.12. ndb_select_all — NDB 테이블에서 열 출력
2.9.13. ndb_select_count — NDB 테이블용 열 카운트 출력
2.9.14. ndb_show_tables — NDB 테이블 리스트 화면 출력
2.9.15. ndb_size.pl — NDB 클러스터 크기 필요 에스티메이터
2.9.16. ndb_waiter — 입력 상태에 도달하기 위한 클러스터 대기
이 섹션에서는 mysql/bin 디렉토리에 들어 있는 MySQL 클러스터 유틸리티 프로그램에 대해서 설명하기로 한다. 각 프로그램들은 —ndb_size.pl용 프로그램 및 ndb_error_reporter는 제외 — 시스템 쉘이 사용할 수 있는 스탠드얼론 (standalone) 바이너리이며, MySQL 서버에는 접속할 필요가 없다.
이러한 유틸리티 프로그램들은 NDB API를 사용해서 자신만의 어플리케이션을 작성할 때에도 사용할 수 있다. 이러한 프로그램들의 소스 코드는 MySQL 5.1 트리의 storage/ndb/tools 디렉토리에서 찾을 수 있다.
NDB 유틸리티들은 아래와 같다:
- ndb_config: 클러스터 구성 옵션 값을 추출.
- ndb_cpcd: MySQL 클러스터를 테스트하고 디버깅할 때 사용.
- ndb_delete_all: 주어진 테이블에서 모든 열을 삭제.
- ndb_desc: NDB 테이블의 모든 프로퍼티 (properties)를 나열.
- ndb_drop_index: NDB 테이블에서 지정 인덱스를 삭제.
- ndb_drop_table: NDB 테이블 삭제.
- ndb_error_reporter: 클러스터 문제를 진단할 때 유용하게 사용할 수 있는 정보를 취합할 때 사용할 수 있음.
- ndb_mgm: MySQL 클러스터 관리 클라이언트.
- ndb_print_backup_file: 클러스터 백업 파일에서 얻은 진단 정보를 프린트.
- ndb_print_schema_file: 클러스터 스키마 파일에서 얻은 진단 정보를 프린트.
- ndb_print_sys_file: 클러스터 시스템 파일에서 얻은 진단 정보를 프린트.
- ndb_restore: 백업 파일에서 클러스터를 복구할 때 사용하는 유틸리티.
- ndb_select_all: NDB 테이블로부터 모든 열을 프린트.
- ndb_select_count: 하나 또는 그 이상의 NDB 테이블에 있는 열의 수를 계산.
- ndb_show_tables: 클러스터에 존재하는 모든 NDB 테이블을 보여줌.
- ndb_size.pl: 주어진 비-클러스터 데이터베이스에 있는 모든 테이블을 검사한 후에, 테이블을 NDB 스토리지 엔진용으로 변환했을 경우에 요구되는 스토리지 용량을 계산.
- ndb_waiter: 관리 클라이언트 명령어인 ALL STATUS와 유사한 방식으로 클러스터 데이터 노드 상태를 레포트.
l ndbd_redo_log_reader: 레도 로그를 읽어서 에러가 있는지를 검사한 후에, 읽을 수 있는 포맷으로 프린트 함.
이러한 유틸리티 프로그램 대부분은 올바른 기능을 수행하기 위해 클러스터 관리 서버에 연결이 되어야 한다. 하지만 ndb_size.pl는 예외이며, 아래의 프로그램들은 클러스터 데이터 노드 파일 시스템에 접속하기 때문에 데이터 노드 호스트에서 구동을 해야 한다:
- ndb_print_backup_file
- ndb_print_schema_file
- ndb_print_sys_file
- ndbd_redo_log_reader (MySQL 클러스터 5.1 캐리어 그래이드 에디션에만 해당됨)
ndb_size.pl는 쉘에서 사용하도록 개발될 펄 (Perl) 스크립트이다; 하지만, 이것은 MySQL 어플리케이션이기 때문에 반드시 MySQL 서버에 연결이 되어야 한다.
ndb_error_reporter 역시 펄 스크립트이다. 이것은 버그 레포트와 함께 제출하기 위한 클러스터 데이터 노드 로그 및 관리 노드 로그를 취합해서 타볼 (tarball)에 넣을 때 사용한다. 노드 파일 시스템에 원격으로 접소하기 위해서는 ssh 또는 scp를 사용한다.
이러한 옵션들을 사용하는 순서는 일반적으로 중요하지 않다. 예를 들면, 아래의 모든 명령어들은 동일한 결과를 생성한다:
- ndb_desc -c localhost fish -d test
- ndb_desc fish -c localhost -d test
- ndb_desc -d test fish -c localhost