복붙노트

[MONGODB] MongoDB를이 : 서버가 시작 경고 '' '액세스 제어 데이터베이스를 사용할 수 없습니다'를 가지고

MONGODB

MongoDB를이 : 서버가 시작 경고 '' '액세스 제어 데이터베이스를 사용할 수 없습니다'를 가지고

내가 그것을 시작하고 MongoDB의 쉘을 사용할 때 내가 먼저 MongoDB를에게 3.4.1 today.But를 설치, 그것은 나에게 이러한 경고를 아래로했다 :

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 [버전 10.0.14393]입니다.

해결법

  1. ==============================

    1.MongoDB를의 V3.4

    MongoDB를의 V3.4

    당신은 보안 데이터베이스를 작성하려면 다음을 수행해야합니다

    프로세스를 시작하는 사용자가 권한이 있는지 확인하고 디렉터리 (이 경우 / 데이터 / DB) 존재.

    1) 액세스 제어없이 시작하여 MongoDB.

    mongod --port 27017 --dbpath /data/db
    

    2) 인스턴스에 연결합니다.

    mongo --port 27017
    

    3)) 관리자 인증 데이터베이스의 사용자 관리자 (만듭니다.

    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" } ]
      }
    )
    

    myTester 같은 7)와 연결하여 인증.

    mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"
    

    기본적으로 내가 여기 공식 문서의 짧은 버전 설명 : https://docs.mongodb.com/master/tutorial/enable-authentication/

  2. ==============================

    2.당신은 이전 DB 폴더를 삭제하고 새로운 하나를 다시해야합니다. 그것은 당신의 문제를 해결합니다.

    당신은 이전 DB 폴더를 삭제하고 새로운 하나를 다시해야합니다. 그것은 당신의 문제를 해결합니다.

  3. from https://stackoverflow.com/questions/41615574/mongodb-server-has-startup-warnings-access-control-is-not-enabled-for-the-dat by cc-by-sa and MIT license