Пробовал разными способами но никак не получается:
Создал в базе admin пользователя с правами "userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase":
use admin
db.createUser({ user: "admin" , pwd: "mypass", roles: ["userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase"]})
Создал БД:
use mydb
Пробую подключаться:
mongo 127.0.0.1 --port 27017 -u "admin" --authenticationDatabase "mydb"
Ошибка:
MongoDB shell version v4.0.2
Enter password:
connecting to: mongodb://127.0.0.1:27017/test
MongoDB server version: 4.0.2
2019-03-18T11:41:55.681+0200 E QUERY [js] Error: Authentication failed. :
DB.prototype._authOrThrow@src/mongo/shell/db.js:1685:20
@(auth):6:1
@(auth):1:2
exception: login failed
Пробую подключатся:
mongo 127.0.0.1 --port 27017 -u "admin" --authenticationDatabase "admin"
Запрашивает пароль и конектится.
Конфиг:
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
net:
port: 27017
bindIp: 127.0.0.1
Вопрос 1: по какой причине конектится к test если я явно указал mydb ?
Вопрос 2: По какой причине выбивает ошибку аутентефикации для admin при подключении к mydb ?