MongoDB: 서버에 시작 경고가 있습니다. "데이터베이스에 대한 액세스 제어가 활성화되지 않았습니다."
오늘 MongoDB 3.4.1을 처음 설치했습니다.그러나 MongoDB 쉘을 실행하면 다음과 같은 경고가 나타납니다.
C:\Users\hs>"C:\Program Files\MongoDB\Server\3.4\bin\mongo.exe
MongoDB shell version v3.4.1
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.1
Server has startup warnings:
2017-01-12T21:19:46.941+0800 I CONTROL [initandlisten]
2017-01-12T21:19:46.942+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-01-12T21:19:46.942+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2017-01-12T21:19:46.942+0800 I CONTROL [initandlisten]
내 컴퓨터는 Microsoft Windows [version 10.0.14393
].
Mongodb v3.4
안전한 데이터베이스를 작성하려면 다음 작업을 수행해야 합니다.
프로세스를 개시하는 유저에게 권한이 있고, 디렉토리가 존재하는 것을 확인합니다(/data/db
(이 경우)를 참조해 주세요.
1) 접근통제 없이 MongoDB를 기동합니다.
mongod --port 27017 --dbpath /data/db
2) 인스턴스에 연결합니다.
mongo --port 27017
3) (admin 인증 데이터베이스에) 사용자 관리자를 만듭니다.
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
4) 접근 제어를 사용하여 MongoDB 인스턴스를 다시 시작합니다.
mongod --auth --port 27017 --dbpath /data/db
5) 사용자 관리자로 연결하여 인증합니다.
mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"
6) 도입에 필요한 추가 사용자(테스트 인증 데이터베이스 등)를 작성합니다.
use test
db.createUser(
{
user: "myTester",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)
7) myTester로 연결하여 인증합니다.
mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"
저는 여기서 공식 문서의 간단한 버전을 설명했습니다.https://docs.mongodb.com/master/tutorial/enable-authentication/
세상에, 가스 플랜트구나, 그 답이 제일 위에 있네!
필요한 것은 다음과 같습니다.
- 예를 들어 설정을 편집합니다.
C:\Program Files\MongoDB\Server\4.4\bin\mongodb.cfg
- 돌리다
security: authorization:
로.enabled
이 서브엔트리가 완전히 누락될 수 있습니다.그럼 그냥 넣어주세요. - 를 재기동합니다.
MongoDB Server
Windows 서비스 제어판에서 서비스를 제공합니다.
그 후에 read/readWrite 역할 기반 정책을 설정하면 훨씬 더 의미가 있습니다.
참고 자료: https://docs.mongodb.com/manual/tutorial/configure-scram-client-authentication/
방금 phpunit을 사용하여 테스트했는데 예상대로 작동합니다.
admin 사용자 또는 다른 역할을 생성할 수 있습니다.망고껍데기로 작동시켜요
db.createUser({user: "username", pwd: "password", roles: ["dbAdmin"]})
SCRAM-SHA-256 에러가 발생했을 경우는, SHA-1 메카니즘을 설정할 수 있습니다.
db.createUser({user: "username", pwd: "password", roles: ["dbAdmin"], mechanisms: ["SCRAM-SHA-1"]})
이전 DB 폴더를 삭제하고 새 폴더를 다시 생성해야 합니다.문제가 해결됩니다.
언급URL : https://stackoverflow.com/questions/41615574/mongodb-server-has-startup-warnings-access-control-is-not-enabled-for-the-dat
'source' 카테고리의 다른 글
치명적: 미입력 서브모듈 내 (0) | 2023.04.05 |
---|---|
카테고리가 있는 모든 WordPress 게시물을 추출하기 위한 SQL 쿼리 (0) | 2023.04.05 |
Python은 UTF-8 BOM 헤더가 있는 json 파일을 로드합니다. (0) | 2023.04.05 |
Angular.js를 통한 세션 유지 (0) | 2023.04.05 |
jQuery 팝업에서 WordPress 로그인 - jQuery Ajax 로그인을 검증하는 방법 (0) | 2023.04.05 |