programing

"db.createUser는 함수가 아닙니다" 및 "암호는 비워 둘 수 없습니다"

starjava 2023. 6. 1. 21:39
반응형

"db.createUser는 함수가 아닙니다" 및 "암호는 비워 둘 수 없습니다"

나는 MongoDB에서 인증을 설정하려고 합니다.언급하지 않았습니다.auth=true구성 파일에서 서버를 다시 시작했습니다.mongo를 통한 첫 번째 연결이 거부되었습니다.두 번째(첫 번째 직후) 작업이 진행되었고 로그에 다음과 같은 내용이 기록되었습니다.

Sat Apr 12 14:56:46 [initandlisten] connection accepted from 127.0.0.1:44001 #1
Sat Apr 12 14:56:46 [conn1] note: no users configured in admin.system.users, allowing localhost access

콘솔에서 명령을 실행할 수 있지만 수많은 튜토리얼(공식 튜토리얼 포함)을 따르려고 하면 다음 중 하나가 표시됩니다.db.createUser is not a function실행 시db.createUser()또는password can't be empty실행 시db.addUser():

몽고 출력

제가 지나가는 물건은 다음과 같습니다.

{
    user: "username",
    pwd: "passphrase",
    roles: [ 
        { 
            role: "userAdminAnyDatabase", 
            db: "admin" 
        }
    ]
}

실행 중인 mongodb 버전은 무엇입니까? db.createUser는 버전 2.6에서 도입되었습니다.

버전 2.6부터 사용되지 않음: MongoDB에 사용자를 추가하려면 db.addUser() 대신 db.createUser()와 db.updateUser()를 사용합니다.

2.6에서 MongoDB는 보안 소개에 설명된 대로 사용자 자격 증명 및 권한에 대한 새로운 모델을 도입했습니다.MongoDB 2.4에서 db.addUser()를 사용하려면 MongoDB Manual 2.4 버전의 db.addUser()를 참조하십시오.

http://docs.mongodb.org/manual/reference/method/db.addUser/

제 경험과 관련하여, 이 문제는 당신이 이전 버전의 Mongo Shell을 가지고 있을 때도 발생합니다.

따라서 MongoDB 서버의 버전에 따라 Mongo Shell을 사용해야 합니다.

몽고

MongoDB 셸 버전 v3.4.10

연결 대상: mongodb://127.0.0.1:27017

MongoDB 서버 버전: 3.4.10

아래:


$ mongo
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
Server has startup warnings: 
2018-01-16T11:43:00.195-0600 I STORAGE  [initandlisten] 
2018-01-16T11:43:00.195-0600 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2018-01-16T11:43:00.195-0600 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2018-01-16T11:43:00.687-0600 I CONTROL  [initandlisten] 
2018-01-16T11:43:00.687-0600 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2018-01-16T11:43:00.687-0600 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2018-01-16T11:43:00.687-0600 I CONTROL  [initandlisten] 
2018-01-16T11:43:00.687-0600 I CONTROL  [initandlisten] 
2018-01-16T11:43:00.687-0600 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-01-16T11:43:00.687-0600 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2018-01-16T11:43:00.687-0600 I CONTROL  [initandlisten] 
>
> use admin
switched to db admin
>  
> db.createUser( {user:"mongoloide", pwd:"mongoloide*2017", roles:["root"]} )
Successfully added user: { "user" : "mongoloide", "roles" : [ "root" ] }

언급URL : https://stackoverflow.com/questions/23034879/db-createuser-is-not-a-function-and-password-cant-be-empty

반응형