AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

mongosqld

참고

BI용 MongoDB Connector 및 관련 유틸리티는 현재 지원되는 모든 MongoDB 서버 버전과 호환됩니다.

mongosqld SQL 클라이언트 에서 들어오는 요청을 수락하고 해당 요청을 또는 인스턴스 mongod mongos로 프록시합니다.

버전 2.3에 새로 추가됨:

옵션을 사용하여 in.drdl mongosqld --schema 형식의 스키마 파일 로 을(를) 시작하거나 MongoDB 인스턴스 에서 데이터를 샘플링하여 스키마 만들 수 있습니다.

옵션을 사용하여 데이터를 샘플 할 --sampleNamespaces 네임스페이스 스페이스를 하나 이상 지정할 수 있습니다. 네임스페이스나 스키마 파일 지정하지 않으면 는mongosqld 및 데이터베이스를 제외한 대상 MongoDB 인스턴스 의 모든 데이터베이스에서 데이터를 admin local 샘플링합니다.

옵션을 사용하여 스키마 정보를 저장 데이터베이스 지정할 수 --schemaSource 있습니다. 그렇지 않으면mongosqld 가 스키마 를 메모리에 보관합니다.

옵션을 사용하여 --schema mongosqld시작할 때 스키마 파일 지정합니다.

mongosqld --schema /path/to/schema-file.drdl

mongodrdl를 사용하여 MongoDB 인스턴스에서 스키마 파일을 만듭니다.

옵션을 사용하여 스키마 정보를 저장 데이터베이스 지정합니다.--schemaSource

mongosqld --schemaSource sampleDb

--sampleNamespaces 옵션을 사용하여 에 대한 데이터베이스 및 컬렉션을 mongosqld 지정하여 스키마 생성할 데이터를 샘플 합니다.

mongosqld --sampleNamespaces contacts.addresses

아래의 추가 사용 예시를 참조하세요.

MongoDB 인스턴스 인증 사용하는 경우 BI Connector 인스턴스 도 인증 사용해야 합니다. 프로그램을 통해 MongoDB 에 연결하는 mongosqld 사용자에게는 데이터를 샘플 하려는 모든 네임스페이스에서 읽을 수 있는 권한이 있어야 합니다.

BI Connector의 MongoDB 사용자 권한에 대한 자세한 내용은 캐시된 샘플링에 대한 사용자 권한을 참조하세요.

MongoDB 사용자 및 역할에 대한 자세한 내용은 역할 기반 액세스 제어를 참조하세요.

인증 mongosqld 있는 의 아래 예시 참조하세요.

버전 2.6에 추가 되었습니다.

모든 클라이언트 연결에 대한 기본값 최소 TLS 버전은 1.1 입니다. 여기에는 에 대한 수신 클라이언트 연결과 MongoDB 로의 발신 연결이 mongosqld 포함됩니다.

옵션을 사용하여 들어오는 연결과 옵션을 사용하여 --mongo-minimumTLSVersion --minimumTLSVersion 나가는 연결에 대해 이 설정을 조정할 수 있습니다.

--help

mongosqld옵션 및 사용에 대한 정보를 반환합니다.

--addr

기본값: 127.0.0.1:3307

수신 대기할 호스트 주소를 지정합니다.

--version

mongosqld 출시하다 번호를 반환합니다.

--config <path>

설정 파일의 경로를 지정합니다.

--mongo-uri <uri>

기본값: mongodb://localhost:27017

연결할 MongoDB 연결 문자열을 지정합니다.

--mongo-uri 옵션은 연결 문자열 내에서 다음 옵션을 지원합니다.

이러한 URI 옵션에 대한 자세한 내용은 읽기 기본 설정 옵션복제본 세트 옵션을 참조하세요.

위 목록에 포함되지 않은 Mongo URI에 설정하다 옵션의 경우 이에 상응하는 mongosqld 옵션을 사용합니다.mongosqld 옵션의 전체 목록은 명령줄 옵션을 참조하세요.

참고

연결 username 문자열 에 및 을 password 지정하는 대신 옵션과 함께 mongosqld --authmongosqld 실행 가 SQL 클라이언트 에서 제공한 인증 자격 증명 MongoDB 서버 에 전달하도록 지시합니다.

마찬가지로 연결 문자열 mongosqld 에서 ssl 를 활성화하는 대신 로 를 --mongo-ssl 실행 .

자동 복제본 세트 서버 검색 논리를 비활성화하고 지정된 서버에 대한 연결을 강제 실행하려면 connect=direct 옵션을 사용합니다.

mongosqld --mongo-uri "mongodb://<hostname>:<port>/?connect=direct"

위 목록에 없거나 지원되는 옵션 목록에 mongosqld 없는 URI 옵션은 지원되지 않습니다.

--mongo-versionCompatibility <version-number>

mongosqld 지정된 버전의 MongoDB 지원하는 기능을 사용하도록 제한합니다. 멤버가 서로 다른 MongoDB 버전을 사용하는 복제본 세트와 함께 사용하거나 MongoDB 의 롤링 업그레이드 수행할 때만 필요합니다. MongoDB 3 버전.2 이상만 지원합니다.

예시 를 들어, 복제본 세트 MongoDB 을 실행 3.2 멤버와 MongoDB 을 실행 다른 멤버가 포함되어 있는 경우,3.4 다음 옵션을 설정하다 를 mongosqld 3제한하여 MongoDB 에서 지원하는 기능만 사용하도록2 제한합니다.:

mongosqld --mongo-versionCompatibility 3.2
--maxVarcharLength <length>

버전 2.2에 추가 되었습니다.

모든 varchar 필드의 최대 길이를 문자 단위로 지정합니다. 에서 mongosqld 최대 길이보다 긴mongosqld 문자열을 발견하면 최대 길이로 자르고 경고를 기록합니다.

--mongo-username <username>, -u <username>

버전 2.3에 추가 되었습니다.

스키마 검색에 사용할 인증 사용자 이름 지정합니다.--auth 가 활성화된 경우에만 필요합니다. 로 지정된 사용자는 --mongo-username listDatabases 권한 가진 유효한 MongoDB 사용자여야 합니다. mongosqld 사용자 권한을 참조하세요.

--mongo-password <password>, -p <password>

버전 2.3에 추가 되었습니다.

스키마 검색에 사용할 인증 비밀번호를 지정합니다.--auth 가 활성화된 경우에만 필요합니다. 와 함께 --mongo-username 사용하세요.

--mongo-authenticationSource <auth-db-name>

기본값: admin

버전 2.3에 추가 되었습니다.

스키마 검색 사용자에 대한 --auth 자격 증명 보관하는 데이터베이스 지정합니다. 가 활성화된 경우에만 사용할 수 있습니다. 자격 증명 옵션 --mongo-username--mongo-password 와 함께 사용합니다.

--mongo-authenticationMechanism <authMechanism>

기본값: SCRAM-SHA-1

버전 2.3에 추가 되었습니다.

스키마 검색에 사용할 인증 메커니즘 지정합니다. 가 활성화된 경우에만 사용할 --auth 수 있습니다. 자격 증명 옵션 --mongo-username--mongo-password 와 함께 사용합니다.

설명

버전 2.6에 새로 추가됨 SHA 해시 함수를 사용하는RFC 표준 솔티드 챌린지 응답 인증 메커니즘.7677 2

PLAIN (LDAP SASL)

LDAP를 사용한 외부 인증. PLAIN 을 사용해 데이터베이스 내 사용자를 인증할 수도 있습니다. PLAIN 은 비밀번호를 일반 텍스트로 전송합니다. 이 메커니즘은 MongoDB Enterprise에서만 사용할 수 있습니다.

GSSAPI (Kerberos)

Kerberos를 사용한 외부 인증. 이 메커니즘은 MongoDB Enterprise에서만 사용할 수 있습니다.

--schema <filename>

스키마 파일 또는 스키마 디렉토리의 경로를 지정합니다.

--schemaDirectory <directoryname>

버전 2.2부터 더 이상 사용되지 않습니다.

대신 를 --schema 사용합니다.

--sampleNamespaces <db.collection>

버전 2.5에 추가 되었습니다.

--sampleNamespaces 스키마를 생성하는 데이터 샘플링 프로세스에 포함하거나 제외할 데이터베이스와 컬렉션을 지정합니다. 단일 데이터베이스 또는 여러 데이터베이스에서 여러 컬렉션을 지정할 수 있습니다. 아래 예시를 참조하세요.

--sampleNamespaces 옵션 또는 --schema 옵션을 사용하지mongosqld 않는 경우,admin 는 및 데이터베이스를 제외한 사용 가능한 모든 MongoDB 데이터베이스 및 local 컬렉션에서 데이터를 샘플링합니다.

--schemaMode <[custom|auto]>

기본값: custom

버전 2.11에 추가 되었습니다.

의 샘플링 모드 mongosqld를 구성합니다. 옵션과 함께 사용해야 --schemaSource 합니다. 다음 값에 따라 샘플링 동작이 결정됩니다.

--schemaMode 행동

custom

mongosqld는 옵션으로 지정된 MongoDB database 에서 저장된 스키마 읽습니다.--schemaSource

auto

mongosqld--schemaSource 스키마 를 샘플링하고 옵션으로 지정된 MongoDB database 에 스키마 데이터를 씁니다.

샘플 모드 구성에 대한 자세한 내용은 샘플링 모드 참조 차트를 참조하세요.

중요

mongosqld에서 를 활성화한 경우 인증된 사용자는 지정된 authentication 데이터베이스 에 대한 --schemaSource 쓰기 (write) 권한 있어야 합니다. 역할 에 대한 자세한 내용은 기본 제공 readWrite 역할을 참조하세요.

--schemaSource <db-name>

버전 2.11에 추가 되었습니다.

이(가) 설정하다 될 때마다 필요합니다. 스키마 정보가 저장되는 데이터베이스 --schemaMode 지정합니다.

참고

--schema--schemaMode, 및 --schemaSource 옵션 중 하나를mongosqld 지정하지 않으면 은(는 ) 스키마 를 메모리에 보관합니다.

샘플링 모드에 대해 자세히 알아보려면 샘플링 모드 레퍼런스 차트를 참조하세요.

--schemaName <db-name>

기본값: defaultSchema

버전 2.11에 추가 되었습니다.

선택 사항. 데이터베이스 에서 로드하거나 데이터베이스에 쓰기 (write) 스키마 --schemaSource 의 이름입니다. 스키마 이름을 지정하면 데이터베이스 에 여러 스키마를 저장 수 있습니다. 동작은 값에 따라 --schemaSource 달라집니다.--schemaMode

--schemaName 행동

custom

옵션으로 지정된 데이터베이스 --schemaSource 에서 로드할 스키마 의 이름입니다.

auto

BI Connector 스타트업 시 스키마 를 샘플링한 후 데이터베이스 에 쓰기 (write) 스키마 --schemaSource 의 이름입니다.

중요

사용자 지정 스키마 업로드하는 경우 를 사용하여 지정된 이름으로 저장 다음 를 name-schema 사용하여 에 mongosqld--schemaName 이름을 지정해야 합니다. 스키마를 업로드할 때 스키마 이름을 저장 하지 않으면 스키마 이름은 defaultSchema 기본적으로(으)로 설정됩니다. 스키마 이름이 존재하지 mongosqld 않으면 다음과 유사한 오류가 발생합니다: MongoDB 스키마 아직 사용할 수 없습니다. 스키마 초기화 오류: 이름에 대한 스키마 찾을 수 없습니다.

샘플링 모드에 대해 자세히 알아보려면 샘플링 모드 레퍼런스 차트를 참조하세요.

--sampleSize <number>

기본값: 1000

버전 2.3에 추가 되었습니다.

스키마 정보를 수집할 때 샘플링할 네임스페이스당 문서 수입니다.

--sampleSize 0 스키마 를 빌드할 때 지정된 네임스페이스 의 모든 문서를 포함하려면 를 로 설정합니다.--sampleSize 0 네임스페이스 지정하지 않고 mongosqld 를 로 설정하면 스키마 를 작성할 때 local 가 모든 데이터베이스의 모든 문서(,, admin system제외)를 고려합니다. 아래 예시 참조하세요.

--schemaRefreshIntervalSecs <number>

기본값: 0

2.11 버전에서 변경됨:

--sampleRefreshIntervalSecs 의 이름을 --schemaRefreshIntervalSecs(으)로 바꿅

mongosqld가 스키마 생성하기 위해 데이터를 0 다시 샘플링하는 간격(초)입니다. 기본값 은 이며, 이는 초기 샘플링 후에 자동 재샘플링이 발생하지 않음을 의미합니다. 지정된 값은 양의 정수여야 합니다.

스키마에 대한 일회성 업데이트를 강제 실행하려면 SQL 클라이언트에서 FLUSH SAMPLE 명령을 사용합니다.

--uuidSubtype3Encoding <old|csharp|java>, -b <old|csharp|java>

UUID 바이너리 하위 유형3을 생성하기 위한 인코딩을 지정합니다. 다음 값 중에서 선택합니다.

  • old: 이전 BSON 바이너리 하위 유형 표현

  • csharp: C#/.NET 레거시 UUID 표현

  • java: Java 레거시 UUID 표현

--prejoin

버전 2.6에 추가 되었습니다.

배열 및 비배열 데이터를 단일 테이블로 결합하기 위한 스키마 옵션입니다.

배열이 포함된 MongoDB 문서는 일반적으로 배열 데이터용 테이블과 비배열 데이터용 테이블로 분리하여 테이블 형식으로 변환합니다. 다음 문서와 함께 이름이 test인 MongoDB 컬렉션을 예시로 들어 보겠습니다

{ "_id" : 1, "a" : 3, "b" : [ "orange", "apple", "pear" ] }

위 컬렉션은 테이블 형식의 다음 두 테이블로 변환됩니다.

mysql> select * from test;
+------+------+
| _id | a |
+------+------+
| 1 | 3 |
+------+------+
mysql> select * from test_b;
+------+--------+-------+
| _id | b | b_idx |
+------+--------+-------+
| 1 | orange | 0 |
| 1 | apple | 1 |
| 1 | pear | 2 |
+------+--------+-------+

플래그는 열의 --prejoin 데이터가 a 테이블에 포함되도록 test_b 합니다.

mysql> select * from test_b;
+------+------+--------+-------+
| _id | a | b | b_idx |
+------+------+--------+-------+
| 1 | 3 | orange | 0 |
| 1 | 3 | apple | 1 |
| 1 | 3 | pear | 2 |
+------+------+--------+-------+
--logAppend

--logPath지정된 기존 로그 파일 에 새 로깅 출력을 추가합니다.

--logRotate이(가) 필요합니다.

--logPath <filename>

Default: stderr

로깅 출력을 저장하기 위한 로그 파일의 경로를 지정합니다.

--logRotate reopen | rename

기본값: 이름 바꾸기

로그를 순환할지 여부와 로그를 순환하는 방법을 지정합니다.

이 옵션을 설정하면 BI용 MongoDB Connector에 FLUSH LOGS 명령을 실행하거나 mongosqld를 다시 시작할 때 로그가 회전합니다.

를 로 설정하다 --logRotate 경우:rename

기존 로그 파일 닫힙니다.RFC3339형식의 타임스탬프가 닫힌 로그 파일 에 추가됩니다. 새 로그 파일 생성됩니다.

를 로 설정하다 --logRotate 경우:reopen

기존 로그 파일이 닫혔다가 다시 열립니다.

참고

UNIX 및 macOS 플랫폼에서는 SIGUSR1 신호를 실행하여 mongosqld 프로세스를 다시 시작하고 로그를 순환시킵니다.

--usageLogInterval <number>

기본값: 60

버전 2.14에 추가 되었습니다.

사용량 통계가 로그에 기록되는 간격(초)입니다. 사용량 로깅을 비활성화하려면 0으로 설정합니다.

참고

Windows에서는 사용량 로깅이 활성화되어 있지 않습니다.

--verbose, -v

mongosqld가 더 자세한 로그 출력을 제공하도록 지정합니다.

다음 표에는 각 로그 수준에서 제공되는 정보가 설명되어 있습니다.

문자 옵션
로그 레벨
메시지 내용

--quiet

none

아무것도 로그하지 않습니다.

No flag

기본값

사용자에게 기본 mongosqld 이벤트 및 상태 변경을 알리는 메시지를 기록합니다.

-v

관리자

관리자에게 mongosqld 정보를 제공하는 메시지를 기록합니다.

-vv

개발자

MongoDB 지원 및 개발에 유용한 메시지를 로그합니다.

--quiet

모든 로그 출력을 숨깁니다.

중요

자체 인증 기관(Certificate Authority, CA)을 사용하여 서버 및 클라이언트 인증서를 자체 서명하는 경우,--mongo-sslAllowInvalidHostnames 인증 올바르게 작동하도록 하려면 옵션을 포함해야 합니다.

--mongo-ssl

Default(기본값): False

mongosqld MongoDB 인스턴스 에 연결할 때 TLS/SSL을 사용하도록 에 지시합니다.

--mongo-sslPEMKeyFile <filename>

MongoDB 에 연결할 때 사용할 mongosqld.pem TLS/SSL 인증서와 키가 모두 포함된 파일 지정합니다..pem 상대 경로 또는 절대 경로 파일 파일 이름을 지정할 수 있습니다.

이 옵션은--mongo-ssl옵션을 사용하여allowConnectionsWithoutCertificates 없이CAFile가 활성화된mongod또는mongos에 연결할 때 필요합니다.

--mongo-sslPEMKeyPassword <password>

MongoDB에 연결하기 위한 인증서와 비공개 키를 포함하는 파일 경로를 지정합니다.

--mongo-sslAllowInvalidHostnames

가 TLS/SSL 인증서의 호스트 이름과 다른 호스트 이름을 가진 MongoDB 서버 에 연결할 수 mongosqld 있도록 허용합니다.

--mongo-sslAllowInvalidCertificates

MongoDB 인스턴스 유효하지 않은 서버 SSL/TLS 인증서를 제시하도록 허용합니다. 설정을 사용하는 allowInvalidCertificates 경우 MongoDB 잘못된 인증서 사용을 경고로 기록합니다.

--mongo-sslCAFile <filename>

인증 기관의 루트 인증서 체인을 포함하는 MongoDB 인스턴스의 .pem 파일을 지정합니다. 상대 경로 또는 절대 경로를 사용해 .pem 파일의 이름을 지정합니다.

경고

BI Connector 버전 2.14.30 이하:

mongodmongos에 대한 SSL 연결(--mongo-ssl)의 경우mongosqld--mongo-sslCAFile없이 실행되면mongosqld는 서버 인증서의 유효성 검사를 시도하지 않습니다. 이로 인해 만료된mongodmongos인증서는 물론 유효한mongod또는mongos인스턴스로 가장하는 외부 프로세스에 대한 취약성이 발생합니다. 침입 가능성이 있는 경우 서버 인증서의 유효성을 검사하기 위해 항상 CA 파일 지정해야 합니다.

BI Connector 버전 2.14.31 부터 --mongo-ssl 플래그가 제공되는 경우 다음 옵션 중 하나 이상도 지정해야 합니다.

--mongo-sslCRLFile <filename>

인증서 해지 목록을 포함하는 MongoDB 인스턴스의 .pem 파일을 지정합니다.

--mongo-sslFIPSMode

설치된 OpenSSL 라이브러리에서 FIPS 모드를 활성화합니다.

--mongo-minimumTLSVersion <TLS1_0|TLS1_1|TLS1_2>

기본값: TLS1_1

또는 에 대한 발신 연결에 필요한 최소 TLS 버전을 mongod mongos지정합니다. 인스턴스. 기본값 은(는) TLS1_1 TLS 버전.1 에 해당합니다.1

--sslMode <mode>

기본값: 사용 안 함

버전 2.3에 추가 되었습니다.

mongosqld에 대한 연결을 위해TLS/SSL을 활성화하거나 비활성화합니다. sslMode 옵션의 인수는 다음 중 하나일 수 있습니다:

설명

disabled

mongosqld는 TLS/SSL을 사용하여 보안된 연결을 수락할 수 없습니다.

allowSSL

mongosqld는 TLS/SSL을 사용하여 보안된 연결을 수락할 수 있습니다.

requireSSL

mongosqld는 TLS/SSL을 사용하여 보안이 설정된 연결만 수락할 수 있습니다.

--sslPEMKeyFile <filename>

TLS/SSL 인증서와 MySQL 클라이언트용 키를 모두 포함하는 .pem 파일을 지정합니다. 상대 경로 또는 절대 경로를 사용해 .pem 파일의 이름을 지정합니다.

--sslPEMKeyPassword <password>

--sslPEMKeyFile에서지정한 비공개 키를 해독하는 데 사용되는 비밀번호를 지정합니다.

--sslAllowInvalidCertificates

MySQL 클라이언트가 유효하지 않은 클라이언트 TLS/SSL 인증서를 제시하도록 허용합니다.

--sslAllowInvalidHostnames

SQL 클라이언트가 호스트 mongosqld 이름이 TLS/SSL 인증서의 호스트 이름과 다른 에 연결할 수 있도록 허용합니다.

--sslCAFile <filename>

mongosqld .pem 인증 기관의 루트 인증서 체인이 포함된 파일 지정합니다..pem 상대 경로 또는 절대 경로 파일 파일 이름을 지정합니다.

--sslCRLFile <filename>

인증서 mongosqld .pem 해지 목록이 포함된 파일 지정합니다.

--auth

수신 클라이언트 요청에 대한 인증이 필요합니다.

중요

버전 2.4.0에서 변경되었습니다.

인증 활성화된 경우 구성 파일 의 --mongo-username--mongo-password 옵션 또는 mongodb.net.auth.usernamemongodb.net.auth.password 설정과 함께 관리자 자격 증명 제공해야 합니다.

mongosqld 관리자 자격 증명을 통해 샘플링된 네임스페이스에 관한 메타데이터를 수집하고, 연결 클라이언트의 자격 증명을 사용하여 데이터를 클라이언트가 읽을 권한이 있는 범위로 제한합니다. 관리 사용자에게 필요한 권한에 대한 자세한 내용은 캐시된 샘플링에 대한 사용자 권한에서 확인합니다.

--defaultAuthSource <authSource>

기본값: admin

기본값 MongoDB 인증 소스를 지정합니다. 이 값을 설정하여 mongosqld MongoDB database 로 인증할 때 사용하는 기본값 소스를 지정합니다.GSSAPI 및 인증 PLAIN 메커니즘은 $external 소스를 SCRAM-SHA-1 SCRAM-SHA-256 사용하고 및 인증 메커니즘은 MongoDB database 소스로 사용합니다.

이 옵션에 값을 지정하지 않으면 기본적으로 MongoDB admin 데이터베이스가 사용됩니다.

$external 인증 소스는 시스템 사용자에 대한 레퍼런스를 MongoDB $external 데이터베이스에 저장하지만 자격 증명은 LDAP 서버와 같은 외부의 비MongoDB 시스템에 저장됩니다.

기본값을 사용하는 모든 연결은 MySQL 또는 Tableau 사용자 이름에서 source 매개 변수를 생략할 수 있습니다.

--defaultAuthMechanism <authMechanism>

기본값: SCRAM-SHA-1

기본값 인증 메커니즘 지정합니다. 이 값을 설정하여 mongosqld 에 연결하기 위한 기본값 메커니즘을 지정합니다. 이 지정된 기본값 을 사용하는 모든 연결은 mechanism MySQL 또는 Tableau 사용자 이름 에서 값을 생략할 수 있습니다.

설명

버전 2.6에 새로 추가됨 SHA 해시 함수를 사용하는RFC 표준 솔티드 챌린지 응답 인증 메커니즘.7677 2

PLAIN (LDAP SASL)

LDAP를 사용한 외부 인증. PLAIN 을 사용해 데이터베이스 내 사용자를 인증할 수도 있습니다. PLAIN 은 비밀번호를 일반 텍스트로 전송합니다. 이 메커니즘은 MongoDB Enterprise에서만 사용할 수 있습니다.

GSSAPI (Kerberos)

Kerberos를 사용한 외부 인증. 이 메커니즘은 MongoDB Enterprise에서만 사용할 수 있습니다.

--minimumTLSVersion <TLS1_0|TLS1_1|TLS1_2>

기본값: TLS1_1

클라이언트가 에 연결하는 데 필요한 최소 TLS 버전을 mongosqld 지정합니다. 기본값 TLS1_1 1은 TLS 버전 에1 해당합니다..

--serviceName <service-name>

를 실행하는 시스템 서비스의 mongosqld 이름입니다.

--serviceDisplayName <service-name>

를 실행하는 시스템 서비스의 이름을 mongosqld 표시합니다.

--serviceDescription <service-name>

를 실행하는 시스템 서비스에 mongosqld 대한 설명입니다.

--gssapiHostname <hostname>

기본값:net.bindIp 의 첫 번째 IP 주소 .

버전 2.5에 추가 되었습니다.

Kerberos 인증을 구성하기 위한 목적의 FQDN입니다. Kerberos 호스트 이름은 Kerberos 구성에 대해서만 호스트 이름을 재정의합니다.

--gssapiServiceName <service-name>

기본값: mongosql

버전 2.5에 추가 되었습니다.

Kerberos를 사용하는 서비스의 등록 이름입니다. 이 옵션을 사용하면 인스턴스별로 Kerberos SPN의 기본 Kerberos 서비스 이름 구성 요소를 재정의할 수 있습니다. 지정하지 않으면 기본값이 사용됩니다.

--mongo-gssapiServiceName <service-name>

기본값: mongodb

버전 2.5에 추가 되었습니다.

Kerberized MongoDB 인스턴스에 연결할 때 Kerberos SPN을 설정합니다. 이 값은 MongoDB 인스턴스에 설정된 서비스 이름과 일치해야 합니다.

--gssapiConstrainedDelegation

Default(기본값): False

버전 2.11에 추가 되었습니다.

Kerberos 권한 부여 에 프록시 자격 증명 사용하여 제한된 위임을 활성화합니다. 클라이언트 mongosqld 키탭과 서비스 키탭에 서비스 자격 증명 있어야 합니다. Kerberos 구성에 대한 자세한 내용은 BI Connector 용 Kerberos 구성을 참조하세요.

--filePermissions <mode>

기본값: 0700

Unix 도메인 소켓 파일에 대한 권한을 지정합니다.

--noUnixSocket

Unix 도메인 소켓에서 수신을 비활성화합니다.

--unixSocketPrefix <path>

기본값/tmp

Unix 도메인 소켓의 mongosqld 대체 디렉토리 지정합니다.

는 이 경로 아래에mongosqld 라는 소켓 파일 mysql.sock --unixSocketPrefix 생성합니다. 를 지정하지 않으면 소켓은 에 /tmp/mysql.sock 존재합니다.

--setParameter <parameter>
Parameter
유형
해당하는 항목:

"polymorphic_type_conversion_mode=<value>"

문자열

mongosqld가 여러 데이터 유형으로 지정된 문서 필드를 평가하는 방법을 결정합니다. 허용되는 off 값은, fastsafe 입니다. 이러한 값에 대해 자세히 학습 시스템 변수를 참조하세요.

"type_conversion_mode=<value>"

문자열

mongosqld 데이터 유형을 변환하는 데 사용하는 모드 지정합니다. BI Connectormongosql 기본값 으로 자체 모드 ()를 사용합니다. 허용되는 값은 mongosqlmysql 입니다. 이러한 값에 대해 자세히 학습 시스템 변수를 참조하세요.

다음 예시 mongosqld 을(를) --setParameter 시작하고 옵션을 사용하여 유형 변환 모드 지정합니다.

mongosqld --setParameter "type_conversion_mode=mongosql"

YAML 구성 파일 mongosqld 사용하여 를 구성할 수 있습니다. 이 파일 다음 섹션에 나열된 설정이 포함될 수 있습니다.

참고

구성 파일의 확장 지시문을 사용하여 외부에서 제공되는 구성 값을 로드할 수 있습니다. 확장 지시문은 보안 인증서와 비밀번호같은 기밀 정보를 가립니다.

확장 지시문 사용에 대한 자세한 내용은 MongoDB 매뉴얼의 외부 소스 설정 파일 값 을 참조하세요.

systemLog:
logAppend: <boolean>
logRotate: "rename"|"reopen"
path: <string>
quiet: <boolean>
verbosity: <integer>
이름
유형
해당하는 항목:
systemLog.logAppend

부울

systemLog.logRotate

문자열

systemLog.path

문자열

systemLog.quiet

부울

systemLog.verbosity

integer

schema:
path: <string>
maxVarcharLength: <integer>
이름
유형
해당하는 항목:
schema.path

문자열

schema.maxVarcharLength

integer

schema:
sample:
size: <integer>
prejoin: <boolean>
namespaces: <array of strings>
uuidSubtype3Encoding: <[old|csharp|java]>
stored:
mode: <[custom|auto]>
source: <string>
name: <db-name>
refreshIntervalSecs: <integer>
이름
유형
해당하는 항목:
schema.stored.mode

문자열

schema.stored.source

문자열

schema.stored.name

문자열

schema.sample.size

integer

schema.sample.prejoin

부울

schema.sample.namespaces

문자열 또는 문자열 배열

schema.refreshIntervalSecs

integer

schema.sample.uuidSubtype3Encoding

문자열

runtime:
memory:
maxPerStage: <integer>
maxPerServer: <integer>
maxPerConnection: <integer>

중요

BI Connector 프로세스 MongoDB 에 쿼리를 보내는 데 사용할 수 있는 시스템 메모리 양을 제어하기 위해 다음과 같은 옵션을 mongosqld 제공합니다. 이러한 제한에는 BI Connector 데이터 구조 오버헤드 등 다른 목적으로 사용하는 메모리가 포함되지 않으므로 BI Connector 사용하는 총 메모리 양은 이러한 옵션에서 제한 설정하다 것보다 많아집니다.

runtime.memory.maxPerStage

유형: integer

Default: unlimited

쿼리 실행 단계에서 사용할 수 있는 최대 메모리 양을 바이트 단위로 지정합니다.

runtime.memory.maxPerServer

유형: integer

Default: unlimited

버전 2.5에 추가 되었습니다.

프로세스 사용할 mongosqld 수 있는 최대 메모리 양을 바이트 단위로 지정합니다.

runtime.memory.maxPerConnection

유형: integer

Default: unlimited

버전 2.5에 추가 되었습니다.

클라이언트 연결에서 사용할 mongosqld 수 있는 최대 메모리 양을 바이트 단위로 지정합니다.

net:
bindIp: <string>
port: <integer>
unixDomainSocket:
enabled: <boolean>
pathPrefix: <string>
filePermissions: <string>
ssl:
mode: <string>
allowInvalidCertificates: <boolean>
PEMKeyFile: <string>
PEMKeyPassword: <string>
CAFile: <string>
이름
유형
해당하는 항목:
net.bindIp

문자열

호스트 이름 구성 요소 --addr

버전 에서 변경된 2.2 사항: 여러 IP 주소를 바인딩하려면 쉼표로 구분된 값 목록을 입력합니다.

예를 들면 다음과 같습니다.

"72.198.41.200,72.198.41.201,72.198.41.202"
net.port

integer

포트 구성 요소 --addr

net.unixDomainSocket.enabled

부울

역방향 --noUnixSocket

net.unixDomainSocket.pathPrefix

문자열

net.unixDomainSocket.filePermissions

문자열

net.ssl.allowInvalidCertificates

부울

net.ssl.mode

문자열

net.ssl.PEMKeyFile

문자열

net.ssl.PEMKeyPassword

문자열

net.ssl.CAFile

문자열

net.ssl.minimumTLSVersion

문자열

security:
enabled: <boolean>
defaultMechanism: <string>
defaultSource: <string>
gssapi:
hostname: <string>
serviceName: <string>
이름
유형
해당하는 항목:
security.enabled

부울

security.defaultMechanism

문자열

security.defaultSource

문자열

security.gssapi.hostname

문자열

security.gssapi.serviceName

문자열

security.gssapi.constrainedDelegation

문자열

mongodb:
versionCompatibility: <string>
net:
uri: <string>
ssl:
enabled: <boolean>
allowInvalidCertificates: <boolean>
allowInvalidHostnames: <boolean>
PEMKeyFile: <string>
PEMKeyPassword: <string>
CAFile: <string>
CRLFile: <string>
FIPSMode: <boolean>
auth:
username: <username>
password: <password>
source: <auth-db-name>
mechanism: <auth-mechanism>
gssapiServiceName: <service>
이름
유형
해당하는 항목:
mongodb.versionCompatibility

문자열

mongodb.net.uri

문자열

mongodb.net.ssl.enabled

부울

mongodb.net.ssl.allowInvalidCertificates

부울

mongodb.net.ssl.allowInvalidHostnames

부울

mongodb.net.ssl.PEMKeyFile

문자열

mongodb.net.ssl.PEMKeyPassword

문자열

mongodb.net.ssl.CAFile

문자열

mongodb.net.ssl.CRLFile

문자열

mongodb.net.ssl.FIPSMode

부울

mongodb.net.ssl.minimumTLSVersion

문자열

mongodb.net.auth.username

문자열

mongodb.net.auth.password

문자열

mongodb.net.auth.source

문자열

mongodb.net.auth.mechanism

문자열

mongodb.net.auth.gssapiServiceName

문자열

processManagement:
service:
name: <string>
displayName: <string>
description: <string>
이름
유형
해당하는 항목:
processManagement.service.name

문자열

processManagement.service.displayName

문자열

processManagement.service.description

문자열

setParameter:
polymorphic_type_conversion_mode: <string>
type_conversion_mode: <string>
이름
유형
해당하는 항목:
setParameter.polymorphic_type_conversion_mode

문자열

mongosqld가 여러 데이터 유형으로 지정된 문서 필드를 평가하는 방법을 결정합니다. 허용되는 off 값은, fastsafe 입니다. 이러한 값에 대해 자세히 학습 시스템 변수를 참조하세요.

setParameter.type_conversion_mode

문자열

mongosqld 데이터 유형을 변환하는 데 사용하는 모드 지정합니다. BI Connectormongosql 기본값 으로 자체 모드 ()를 사용합니다. 허용되는 값은 mongosqlmysql 입니다. 이러한 값에 대해 자세히 학습 시스템 변수를 참조하세요.

이러한 구성 파일 옵션은 시스템 변수로도 사용할 수 있습니다. 자세한 내용은 시스템 변수를 참조하세요.

구성 파일의 확장 지시문을 사용하여 외부에서 제공되는 구성 값을 로드할 수 있습니다. 확장 지시문은 보안 인증서와 비밀번호같은 기밀 정보를 가립니다.

확장 지시문 사용에 대한 자세한 내용은 MongoDB 매뉴얼의 외부 소스 설정 파일 값 을 참조하세요.

참고

이 예시 구성 파일에 사용된 경로는 Linux 전용입니다. 로컬 시스템 설명서를 참조하여 시스템에 맞는 올바른 경로를 확인합니다.

systemLog:
logAppend: false
path: "/var/log/mongosqld/mongosqld.log"
verbosity: 2
security:
enabled: true
mongodb:
net:
uri: "mongo.example.com:27017"
auth:
username: "root"
password: "changeme"
net:
bindIp: 192.0.2.14
port: 3307
ssl:
mode: "allowSSL"
PEMKeyFile: "/vagrant/certificates/mongosqld-server.pem"
CAFile: "/vagrant/certificates/ca.crt"
schema:
sample:
namespaces: "inventory.*"
processManagement:
service:
name: mongosqld
displayName: mongosqld
description: "BI Connector SQL proxy server"

--schema 옵션을 사용하여 가 사용할 스키마 파일 mongosqld 지정합니다.

mongosqld --schema /path/to/schema-file.drdl

옵션을 사용하여 데이터를 샘플 --sampleNamespaces 할 의 데이터베이스 및 컬렉션 지정합니다.mongosqld 옵션 없이 를 mongosqld --sampleNamespaces 시작하면 및 데이터베이스를 제외한 사용 가능한 모든 데이터베이스에서 데이터를 admin local 샘플링합니다.

다음 예시에서는 contacts 데이터베이스에 있는 addresses 컬렉션의 데이터를 샘플링합니다.

mongosqld --sampleNamespaces contacts.addresses

데이터베이스 의 모든 컬렉션에서 데이터를 샘플 하려면 옵션을 --sampleNamespaces * 와일드카드()와 함께 사용합니다.

다음 예시에서는 inventory 데이터베이스의 모든 컬렉션에서 데이터를 샘플링합니다.

mongosqld --sampleNamespaces 'inventory.*'

명령줄 에서 를 반복하여 --sampleNamespaces 데이터베이스 내의 여러 컬렉션 또는 여러 데이터베이스의 여러 컬렉션에서 데이터를 샘플 할 수 있습니다.

다음 예시에서는 carsboats 데이터베이스의 모든 컬렉션에서 데이터를 샘플링합니다.

mongosqld --sampleNamespaces 'cars.*' \
--sampleNamespaces 'boats.*' \

와일드카드 및 특정 컬렉션을 여러 옵션으로 --sampleNamespaces 혼합할 수 있습니다.

다음 예시에서는 orders 데이터베이스 내 모든 컬렉션, expenses 데이터베이스의 FY2015FY2016 컬렉션 내 모든 데이터를 샘플링합니다.

mongosqld --sampleNamespaces 'orders.*' \
--sampleNamespaces expenses.FY2015 \
--sampleNamespaces expenses.FY2016 \

참고

와일드카드를 사용할 때는 네임스페이스를 작은따옴표로 묶기만 하면 됩니다.

데이터 샘플링 프로세스에서 지정된 네임스페이스를 제외하려면 네임스페이스 앞에 ~(물결표) 기호를 붙입니다. 다음 예시에는 fruit 데이터베이스의 apples 컬렉션을 제외한 모든 데이터베이스와 컬렉션이 포함됩니다.

mongosqld --sampleNamespaces ~fruit.apples

* 와일드카드 문자를 사용하여 데이터베이스에 있는 모든 컬렉션을 표시합니다. 다음 예시에서는 데이터 샘플링에서 전체 vehicles 데이터베이스를 제외합니다.

mongosqld --sampleNamespaces '~vehicles.*'

일부 문서가 다른 문서와 다른 필드를 가진 컬렉션 --sampleSize 있고 스키마 0 이를 모두 고려하도록 하려면 옵션을 namespace 로 설정하다 . 이렇게 하면 mongosqld 가 스키마 빌드할 때 지정된 에 있는 모든 문서를 검사합니다.

다음 mongosqld 예시 inventory.electronics 가 네임스페이스 의 모든 문서를 기반으로 스키마 빌드 하도록 지시합니다.

mongosqld --sampleNamespaces inventory.electronics \
--sampleSize 0

--schemaSource 옵션을 사용하여 스키마 정보를 저장 데이터베이스 --schemaMode 지정합니다. 옵션을 사용하여 mongosqld 가 스키마 데이터베이스 에 쓰기 (write) 수 있는지 아니면 읽기만 할 수 있는지 여부를 지정합니다.

다음 예시 명령은 데이터베이스 사용하여 sampleDb 스키마 정보를 저장 --schemaMode auto하고 를 로 설정합니다.

mongosqld --schemaSource sampleDb --schemaMode auto

중요

mongosqld에서 를 활성화한 경우 인증된 사용자는 지정된 authentication 데이터베이스 에 대한 --schemaSource 쓰기 (write) 권한 있어야 합니다. 역할 에 대한 자세한 내용은 기본 제공 readWrite 역할을 참조하세요.

옵션을 사용하여 --schemaRefreshIntervalSecs 의 간격을 초 단위로 mongosqld 지정하여 데이터를 리샘플링하고 스키마 를 다시 생성합니다. 이 옵션의 기본값 은 0 이며, 이는 mongosqld 이(가) 데이터를 리샘플링하지 않음을 의미합니다.

--schemaRefreshIntervalSecs --schemaSource --schemaMode 리샘플링 간격을 설정하다 custom 하고 로 스키마 데이터베이스 지정하는 경우 를 로 설정하다 수 없습니다.

다음 예시 스키마 데이터베이스 나 스키마 파일 지정하지 않으므로 해당 스키마 메모리에 보관합니다.--schemaRefreshIntervalSecs 를 3600 사용하여 데이터 리샘플링 간격을 초로 지정합니다.

mongosqld --schemaRefreshIntervalSecs 3600

인증 활성화된 상태에서 실행 MongoDB --auth mongosqld 인스턴스 에 를 연결하려면 옵션을 사용하고 MongoDB 사용자 자격 증명 제공합니다.

다음 예시 mongosqld 비밀번호가 reportsUser reportsPass인 사용자의 자격 reports.inventory 증명으로 네임스페이스 에 액세스 할 수 있는 자격 증명 으로 를 시작합니다.

mongosqld --auth \
--mongo-username reportsUser \
--mongo-password reportsPass \
--sampleNamespaces reports.inventory

이 예시 옵션으로 인증 데이터베이스 지정하지 않으므로 --mongo-authenticationSource 기본값은 admin 입니다. 옵션으로 인증 메커니즘 을 지정하지 --mongo-authenticationMechanism 않으므로 기본값은 SCRAM-SHA-1 입니다.

로그를 /var/log/mongosqld.log에 저장하고 /var/schema.drdl에서 스키마를 로드하는 구성 파일을 지정하려면 다음과 같은 파일을 /etc/mongosqld.conf에 저장하면 됩니다.

경고

구성 파일에서는 반드시 절대 경로를 지정해야 합니다. 예를 들어 아래와 같이 /로 시작해야 합니다.

systemLog:
path: /var/log/mongosqld.log
schema:
path: /var/schema.drdl

그런 mongosqld --config 다음 옵션으로 를 시작할 수 있습니다.

mongosqld --config /etc/mongosqld.conf

시스템 서비스로 mongosqld를 시작하는 방법에 대한 자세한 내용은 운영 체제의 설치 가이드를 참조하세요.

Atlas는 MongoDB 배포서버를 실행, 모니터링, 유지 관리하기 위한 클라우드 서비스로서 MongoDB 인스턴스 전용 서버의 프로비저닝이 포함됩니다.

Atlas는 TLS/SSL을 사용하여 연결을 암호화하고 인증을 기본적으로 시행합니다.

참고

MongoDB Atlas 프리 티어에서는 BI Connector가 allowDiskUse 옵션을 사용하여 집계 파이프라인을 실행할 수 없습니다. 이 옵션을 사용하면 집계 단계에서 데이터를 임시 파일로 디스크에 쓸 수 있습니다. MongoDB Atlas 프리 티어 제약 조건을 검토하려면 MongoDB Atlas 매뉴얼을 참조하세요.

mongosqld 인증 기관에서 발급한 유효한 TLS 인증서 또는 자체 서명된 인증서를 사용할 수 있습니다. 자체 서명된 인증서를 사용하는 경우 통신 채널이 암호화되더라도 서버 ID에 대한 유효성 검사는 이루어지지 않습니다. 이러한 상황은 연결 도청을 방지할 수 있지만 중간자 공격에 취약해질 수 있습니다. 신뢰할 수 있는 인증 기관에서 서명한 인증서를 사용하면 MySQL 클라이언트가 서버의 ID를 확인하도록 허용할 수 있습니다.

테스트 목적으로 openssl 도구를 사용하여 이름이 test.pem.pem 키 파일을 생성할 수 있습니다.

openssl req -nodes -newkey rsa:2048 -keyout test.key -out test.crt -x509 -days 365 -subj "/C=US/ST=test/L=test/O=test Security/OU=IT Department/CN=test.com"
cat test.crt test.key > test.pem

다음 옵션을 사용하여 mongosqld 를 시작합니다.

이전 예시에서와 같이 키 파일의 이름을 test.pem으로 지정한 경우, 클러스터 URI 및 로그인 자격 증명을 대체하여 다음을 실행할 수 있습니다.

mongosqld --mongo-ssl \
--auth \
--sslPEMKeyFile test.pem \
--mongo-uri <uri> \
--sslMode allowSSL \
--mongo-username <username> \
--mongo-password <password>

사용자 이름, 비밀번호, 인증 데이터베이스 SQL 클라이언트 에 전달합니다. 예시 를 mysql 들어 서버 mongosqld 인증서를 확인하지 않고 를 사용하는 경우입니다.

mysql --host <mongosqld-host> --port <mongosqld-port> -u <username>?source=admin -p --ssl-mode required --enable-cleartext-plugin

BI 커넥터에서 mysql 클라이언트를 사용하는 방법에 대한 자세한 내용은 MySQL 클라이언트에서 연결을 참조하세요.

아래 차트 에서는 mongosqld 스타트업 구성의 유형과 각 유형에 사용되는 옵션에 대해 설명합니다.

모드
mongosqld 옵션
행동

독립형 스키마

mongosqld 스타트업 시 데이터를 샘플링합니다.--schemaRefreshIntervalSecs >, 0 지정된 간격으로 리샘플링합니다.

예를 들면 다음과 같습니다.

mongosqld --schemaRefreshIntervalSecs 3600

자세한 내용은 독립형 스키마 모드(캐시된 샘플링)을 참조하세요.

사용자 지정 스키마

로 지정된 데이터베이스 에서 스키마 데이터를 --schemaSource 읽습니다.

예를 들면 다음과 같습니다.

mongosqld --schemaMode custom \
--schemaSource schemaDb

Auto Schema

사용자 지정 스키마 데이터베이스에서 스키마 데이터를 샘플링하고 유지합니다.

예를 들면 다음과 같습니다.

mongosqld --schemaMode auto \
--schemaSource schemaDb \
--schemaRefreshIntervalSecs 3600

자세한 내용은 자동 스키마 모드 (MongoDB에서 스키마 유지)를 참조하세요.

다음 옵션 구성은 유효하지 않으며 스타트업 시 오류를 mongosqld 발생시킵니다.

모드
mongosqld 옵션
행동

독립형 작성기(유효하지 않음)

모드 에서는 쓰기 가능한 데이터베이스 지정되어야 하므로 이 mongod 구성은 독립형 인스턴스 에는 유효하지 않습니다. auto

클러스터 샘플링 해석기(유효하지 않음)

MongoDB 복제본 세트 또는 샤딩된 클러스터 에서 사용하는 경우 이 구성은 유효하지 않습니다. 을(를) 사용하여 스키마 데이터를 저장하도록 데이터베이스 지정한 경우 을(를)(으)로 설정하다 해야 --schemaSource --schemaMode auto 클러스터 전체의 일관성 유지하기 위해 프라이머리 머리 스키마 업데이트할 수 있습니다.

이 페이지 평가하기