mongodb 구성 파일에서 권한을 설정하는 방법은 무엇입니까?
나는 달립니다mongod.exe
이 옵션이 있는 서버에서cmd.exe
:
mongod.exe --dbpath=path --auth
이제 구성 파일에서 이 작업을 수행하려면 어떻게 해야 합니까?
나의mongod.cfg
:
dbpath=D:\Program Files\MongoDB 2.6 Standard\data
security=
authorization= enabled
다음 오류가 발생했습니다.
INI 구성 파일을 구문 분석하는 중 오류가 발생했습니다. 알 수 없는 옵션 보안입니다.
mongod 버전 2.4의 경우(ini 구성 파일)
auth = true
https://docs.mongodb.com/v2.4/reference/configuration-options/ #auth
mongod 버전 2.6+의 경우(yaml 구성 파일)
security:
authorization: enabled
https://docs.mongodb.com/v3.2/reference/configuration-options/ #security.authorization https://docs.mongodb.com/v3.0/reference/configuration-options/ #security.authorization https://docs.mongodb.com/v2.6/reference/configuration-options/ #security.authorization
mongodb 버전 3.2
올바른 구성입니다.
security:
authorization: "enabled"
값이 문서에 따라 문자열이므로 따옴표를 사용합니다.
security:
authorization: "enabled"
위에서 언급한 대로 맞습니다. 한 가지 주의할 점은 여전히 작동하지 않는 경우 인증 라인에 탭을 사용하지 않았는지 확인하십시오. 탭은 작동하지 않습니다. 공간만 사용하면 됩니다.
할 말이 있습니다
auth=true
다른 옵션은 필요 없습니다!
YAML을 사용하는 경우
security:
authorization: "enabled"
2.6 이상에서 일하는 것.
하지만 YAML을 사용하지 않는다면요.
auth: true
mongodb v3.0.2, v3.6.5, v4.0.3을 사용합니다. 두 파일이 모두 올바르게 작동합니다.
INI 구성
# mongodb.conf
# Where to store the data.
dbpath=/var/lib/mongodb
#where to log
logpath=/var/log/mongodb/mongodb.log
logappend=true
bind_ip = 0.0.0.0
port = 27017
journal=true
auth = true
YAML 구성
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
security:
authorization: "enabled"
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
DigitalOcean에서는 3.6.3 버전을 제공하지만 2.* 스타일의 구성 파일을 제공합니다.이것은 위의 모든 댓글을 읽을 때 혼동을 일으킵니다.
따라서 MongoDB를 설치하는 Digital Ocean Guide(이 가이드)를 따르는 대신 공식 MongoDB Guide(이 가이드)를 사용하는 것이 좋습니다.
그들의 파티에 정말 늦었습니다.
나에게는 위의 어떤 것도 작동하지 않았습니다. (Windows의 경우 Linux에서 "authorization: enabled"는 권한이 올바른 한 제대로 작동하지 않습니다.)결국 타사 서비스 관리자를 사용하여 --dbpath 및 --auth 옵션을 사용하여 나만의 서비스를 만들었습니다.매력적으로 작동합니다.
저는 이것이 직접적인 대답이 아니라는 것을 완벽하게 알고 있지만, 이것이 누군가에게 도움이 되기를 바랍니다.
참고로, "C:"를 사용할 수 없었습니다.\Program Files\MongoDB\4.2\Server\data" 폴더입니다.쓰기 권한이 없습니다.
db.adminCommand(
{
setParameter: 1,
security.authorization: "enabled"
}
);
나에게 있어 결함/오류의 원인이 된 주요 사항은 Robert Walters 응답 - 구성 파일의 TAB 사용에서 확인되었습니다.
이를 4개의 공백으로 변경하면 구성 파일이 깔끔하고 읽기 쉬운 상태로 유지되면서 문제가 해결되었습니다.
언급URL : https://stackoverflow.com/questions/25325142/how-to-set-authorization-in-mongodb-config-file
'programing' 카테고리의 다른 글
잡기 및 다시 던지기에 대한 모범 사례.NET 예외 (0) | 2023.05.05 |
---|---|
WPF의 DataGrid Column 바인딩 가시성 (0) | 2023.05.05 |
Git 푸시 오류:이전 링크를 해제할 수 없음(권한 거부) (0) | 2023.05.05 |
골랑은 파이썬처럼 문자열을 곱할 수 있습니까? (0) | 2023.05.05 |
Xcode 명령줄 도구를 설치하는 방법 (0) | 2023.05.05 |